此客户端的邮件提交速率已超过配置的限制
本文关键字:配置 速率 客户端 提交 | 更新日期: 2023-09-27 18:21:39
我有一个for循环,它调用一些发送电子邮件的代码。我得到以下运行时错误:
服务不可用,正在关闭传输通道。服务器回复为:4.4.2该客户端的消息提交率超出配置的限制
在谷歌上搜索后,它似乎与"设置接收连接器"有关,可能是交换服务器吗?有人能告诉我如何解决这个问题吗?
代码:
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
与其直接发送电子邮件,还不如使用拾取文件夹?
SmtpMail.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
这样,你只需将消息转储到文件夹中,让exchange在准备好时发送它们,这样,如果你的用户每分钟只能发送3条消息,exchange应该发送3条,那么在下一次传递时再发送3条信息,以此类推。
我使用正确的端口在系统上解决了这个问题。交换的设置方式意味着SSL=TRUE,端口=587产生了这个错误。如果我把它改为使用端口25,那么一切都很好。因此,请与您的系统管理员联系,这可能会有所帮助!
我们通过将接收连接器设置为一次允许5条以上的消息,从Exchange端解决了这个问题,例如:
Get-ExchangeServer | Set-ReceiveConnector "My Receive Connector" -Messageratelimit 20