我们在尝试使用C#发送邮件时经常收到SMTP 4.4.1连接超时异常。到目前为止,我们没有找到问题何时发生的模式,例如一天中的时间。
抛出的异常是:
System.Net.Mail.SmtpException:服务不可用,关闭传输通道。服务器响应为:4.4.1连接超时
任何时候最多可发送30封电子邮件,并且10次中的9次都会成功发送。当我们遇到4.4.1例外时,会发送一些电子邮件,而剩下的1或2则不会。
不幸的是,我无法访问客户端Exchange服务器,只能访问运行我们的应用程序的应用程序服务器。所以我就此与主持人合作。已在应用程序服务器上检查事件日志,唯一发现的是来自源McLogEvent的以下警告:
将被端口阻止规则阻止(规则处于仅警告模式)(防病毒标准保护:防止群发邮件蠕虫发送邮件)。
有没有人在遇到这个问题之前或者知道可能的原因?
答案 0 :(得分:0)
没有发布任何代码,有点难以调试。你有没有看过这个类似的SO问题?
我发现了几个有类似错误的SO问题。我的猜测是你的服务器试图一次发送太多的电子邮件和连接炸弹。尝试一次送少数;从一开始,按照你的方式工作到30,看看是否有效。这是我的谷歌搜索:
答案 1 :(得分:0)
我遇到了类似的问题。我们会一次发送 1000 多封电子邮件,每批 50 封,它会每 10 分钟抛出“4.4.1 连接超时”SMTP 异常。问题原来是 SmtpClient 没有被正确处理。显然,如果您重新分配它,它不会发送“QUIT”SMTP 命令。
错误:
SmtpClient client = new SmtpClient();
对:
using (SmtpClient client = new SmtpClient())