首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SmtpClient超时

SmtpClient超时
EN

Stack Overflow用户
提问于 2014-01-13 19:25:40
回答 2查看 938关注 0票数 0

我尝试让SmtpClient发送邮件,但总是以超时结束:(

我使用的设置在Mozilla Thunderbird中有效,所以我100%确定问题出在我的代码中。我就是看不出问题出在哪里。

这是我的代码:

代码语言:javascript
复制
            MailMessage email = new MailMessage(fromAddress, to, subject, body);

            SmtpClient smtp = new SmtpClient();
            smtp.Host = HOSTNAME;
            smtp.Port = PORT;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = new System.Net.NetworkCredential(USERNAME, PASSWORD)
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            smtp.EnableSsl = true;
            smtp.Timeout = 10000;

            smtp.Send(email);

你知道可能出了什么问题吗?

已仔细检查设置,以确保它们是正确的。当我在Thunderbird中测试发送邮件时,我将它们从代码中复制到了Thunderbird中(也就是说,我100%确定设置是正确的)。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-04-03 12:30:27

看起来SmtpClient不能很好地处理SSL。(此处讨论:How can I send emails through SSL SMTP with the .NET Framework?SmtpClient wont authenticate over SSL/TLS (not pointing to gmail))

您可以不指定端口和enablessl属性(默认值为25,false),也可以使用其他SMTP客户端。

票数 1
EN

Stack Overflow用户

发布于 2014-01-20 17:59:40

既然它在thunderbird中工作,那么你的证书似乎也有效。您是否尝试过删除超时或围绕smtp.send创建一个try/catch,以了解其失败的原因?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21090104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档