【问题标题】:Recieving an SMTP Exception when Trying to Send Mail in C#尝试在 C# 中发送邮件时收到 SMTP 异常
【发布时间】:2015-03-09 19:08:03
【问题描述】:

在尝试使用 C# 发送邮件时,我们经常收到 SMTP 4.4.1 连接超时异常。到目前为止,我们还没有发现问题何时发生的模式,例如一天中的时间。

抛出的异常是:

System.Net.Mail.SmtpException:服务不可用,正在关闭传输通道。服务器响应为:4.4.1 连接超时

任何时候最多发送 30 封电子邮件,并且 10 次中有 9 次都成功发送。当我们遇到 4.4.1 异常时,会发送一些电子邮件,而剩下的 1 或 2 封没有。

不幸的是,我无法访问客户端 Exchange 服务器,只能访问运行我们的应用程序的应用程序服务器。所以我正在与主持人合作。已在应用程序服务器上检查了事件日志,唯一发现的是来自源 McLogEvent 的以下警告:

将被端口阻止规则阻止(规则处于仅警告模式)(防病毒标准保护:防止群发邮件蠕虫发送邮件)。

有没有人遇到过这个问题或知道可能的原因?

【问题讨论】:

    标签: c# exchange-server


    【解决方案1】:

    没有发布任何代码,有点难以调试。你检查过这个类似的 SO 问题吗?

    Sending 2000 emails

    我发现了几个带有类似错误的 SO 问题。我的猜测是您的服务器试图一次发送太多电子邮件并且连接炸弹。尝试一次发送一把;从一个开始,一直到 30 个,看看是否可行。这是我的 Google 搜索:

    https://www.google.com/search?q=The+server+response+was%3A+4.4.1+Connection+timed+out&rlz=1C1CHFX_en__601US628&oq=The+server+response+was%3A+4.4.1+Connection+timed+out&aqs=chrome..69i57j69i64&sourceid=chrome&es_sm=93&ie=UTF-8

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。我们将一次发送 1000 多封电子邮件,每批 50 封,它会每 10 分钟抛出一次“4.4.1 连接超时”SMTP 异常。问题原来是 SmtpClient 没有被正确处理。显然,如果您重新分配它,它不会发送“QUIT”SMTP 命令。

      错误:

      SmtpClient client = new SmtpClient();
      

      对:

      using (SmtpClient client = new SmtpClient()) 
      

      【讨论】:

        猜你喜欢
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-20
        • 2023-03-10
        • 2012-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多