此客户端的邮件提交率已超过配置的限制?

时间:2012-01-27 13:18:48

标签: c# .net exchange-server

我有一个for循环,调用一些代码发送电子邮件。我收到以下运行时错误:

  

服务不可用,关闭传输通道。服务器   回复是:4.4.2该客户的消息提交率   超出配置的限制

谷歌搜索后似乎与“set-receiveconnector”有关,可能是交换服务器吗?有人可以建议我如何解决这个问题吗?

代码:

             var mail = new MailMessage();
             var smtpServer = new SmtpClient(SMTPServer);

             mail.From = new MailAddress(fromAddress);
             mail.To.Add(toAddress);
             mail.Subject = title;

             mail.IsBodyHtml = isHTML;
             mail.Body = message;

             if(attach != null) mail.Attachments.Add(attach);

             smtpServer.Port = xxx
             smtpServer.UseDefaultCredentials = false;
             smtpServer.Credentials = new NetworkCredential(SMTPUser, SMTPPassword);
             smtpServer.EnableSsl = true;
             smtpServer.Send(mail); //Error occurs here

3 个答案:

答案 0 :(得分:1)

而不是直接发送电子邮件,您可以使用提取文件夹吗?

SmtpMail.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;

那样你只需将邮件转储到文件夹中,并让交换机在准备就绪时发送它们,这样如果你的用户只能发送说每分钟3次交换应该发送3然后在下一次发送时发送另外3个等等

答案 1 :(得分:0)

我通过使用正确的端口在我的系统上解决了这个问题。设置交换的方式意味着SSL = TRUE,Port = 587产生了这个错误。如果我将其更改为使用端口25,那么一切正常。所以请咨询您的系统管理员,这可能有所帮助!

答案 2 :(得分:0)

我们通过将接收连接器设置为一次允许超过 5 条消息,从 Exchange 端修复了此问题,例如:

Get-ExchangeServer | Set-ReceiveConnector "My Receive Connector" -Messageratelimit 20