【问题标题】:How to resolve "Service not available, closing transmission channel. The server response was: Server busy, too many connections"如何解决“服务不可用,关闭传输通道。服务器响应为:服务器忙,连接太多”
【发布时间】:2018-09-04 15:13:38
【问题描述】:

为什么会出现此错误?为什么所有相​​关的问题都没有解决方案?

  var emailAdd = mailSettings.EmailAddress;
                            var smtpClient = mailSettings.SMTPClient;
                            password = mailSettings.Password;

                            var Message = new MailMessage(emailAdd, to, subject, "mail body");
                            Message.Attachments.Add(new Attachment(new MemoryStream(bytes), "Report_Card.pdf"));
                            Message.IsBodyHtml = true;
                            Message.From = new MailAddress(emailAdd, displayName);
                            var smtp = new SmtpClient(smtpClient);
                            var NetworkCredentials = new NetworkCredential();
                            NetworkCredentials.UserName = emailAdd;
                            NetworkCredentials.Password = password;

                            smtp.Credentials = NetworkCredentials;
                            smtp.Send(Message);

我需要永久解决这个问题。邮件发送了几次,然后停止。

【问题讨论】:

  • 您要批量发送多少条消息?
  • 一次最多可发送 1000 封邮件。

标签: c# smtp


【解决方案1】:

此错误通常是由于服务器限制了可通过 SMTP 连接传输的电子邮件数量。通常这样做是为了防止垃圾邮件。

你有选择。 (a) 或者您可以限制一次发送的消息数量,以免超过限制。 (b) 或者您可以要求您的服务器管理员调整服务器的限制。 (c) 或者您可以尝试重新配置与服务器的连接,以在收到 5 封邮件后自动断开或连接。

这更像是服务器问题而不是编程问题,尽管您可以尝试重新配置代码以克服此限制(请参阅选项 C)

【讨论】:

    【解决方案2】:
    1. 尝试通过单个 smtp 连接/会话发送多条消息(例如 50 个)
    2. 随时准备好达到服务器施加的限制。

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 2018-01-04
      • 2018-09-11
      • 2014-02-06
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多