SmtpClient超时

时间:2014-01-13 11:25:40

标签: email smtp smtpclient

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

我使用的设置在Mozilla Thunderbird中工作,所以我100%确定问题出在我的代码中。我只是看不出问题所在。

这是我的代码:

            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%确定设置正确)。

谢谢!

2 个答案:

答案 0 :(得分:1)

似乎SmtpClient无法很好地处理SSL。 (在此讨论:How can I send emails through SSL SMTP with the .NET Framework?SmtpClient wont authenticate over SSL/TLS (not pointing to gmail)

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

答案 1 :(得分:0)

由于它在雷鸟中运行,因此您的凭据似乎有效。您是否尝试删除超时或在smtp.send周围创建一个try / catch以查看它失败的原因?