修改Exchange用户每分钟/每天的发送邮件数量的默认值MessageRateLimit和RecipientRateLimit

时间:2024-03-11 22:49:59

开发同事反馈新开发的一个应用,1分钟内连续多封邮件发送失败了,导致大量邮件堵塞。

经查,报有下面的错误:

421 4.4.2 Message submission rate for this client has exceeded the configured limit

这是因为从Exchange 2010开始,默认每分钟发送的邮件封数限制为5封,这个限制参数是:MessageRateLimit

   

微软官网有给出此参数的详细说明:

MessageRateLimit

MessageRateLimit 参数指定每分钟可以提交以便进行传输的邮件数量。 对于通过邮箱服务器角色(Outlook Web AppExchange ActiveSync Exchange Web 服务)提交的邮件,此设置会导致邮件延迟发送,直至达到用户配额。 具体来说,当用户以大于 MessageRateLimit 参数的速率提交邮件时,邮件会在长时间出现在"发件箱"或"草稿"文件夹中。

对于使用 SMTP 直接提交所传输邮件的 POP IMAP 客户端,如果以超过 MessageRateLimit 参数的速率提交邮件,则客户端会收到暂时性错误。Exchange 会在稍后的某个时间尝试连接并发送邮件。

默认值   5

   

解决办法: 

Exchange  management shell 下执行:

1、创建一个名称为LimitMessagesSent的新策略规则,例:用户每天最大发送量为500封,每分钟最大为50封,你可以使用以下命令:

[PS] C:\Windows\system32>New-ThrottlingPolicy -Name LimitMessagesSent -RecipientRateLimit 500 -MessageRateLimit 50

执行完后,可以看到规则名称和recipientratelimitmessageratelimit两个参数的值

   

2、把新建的策略规则LimitMessagesSent应用到需要限制发送量的用户usera

[PS] C:\Windows\system32>Set-Mailbox -Identity "usera" -ThrottlingPolicy LimitMessagesSent

   

3、修改LimitMessagesSent策略规则的每天/每分钟发送量为1000100

[PS] C:\Windows\system32>Set-ThrottlingPolicy -Identity LimitMessagesSent -RecipientRateLimit 1000 -MessageRateLimit 100

   

4、查看LimitMessagesSent策略规则中的参数值

[PS] C:\Windows\system32>Get-ThrottlingPolicy "LimitMessagesSent"

   

Get-ThrottlingPolicy "LimitMessagesSent" | fl Name,MessageRateLimit,RecipientRateLimit

Name : LimitMessagesSent

MessageRateLimit : 100

RecipientRateLimit : 1000

   

   

5、删除策略规则LimitMessagesSent

[PS] C:\Windows\system32>Remove-ThrottlingPolicy -Identity LimitMessagesSent

   

   

   

当然,也可以修改全局的参数

1、在Exchange服务器上打开Exchange Shell命令管理界面

先查看下当前所有接收连接器MessageRateLimit参数的值:

   

[PS] C:\Windows\system32>Get-ReceiveConnector * |fl Name,MessageRateLimit

Name : Default MAILBOX1

MessageRateLimit : unlimited 

Name : Client Proxy MAILBOX1

MessageRateLimit : 5

2、修改接收连接器"Client Proxy MAILBOX1"每分钟可提交的邮件数量为20(如还有其他接收连接器也为5,也都进行修改):

   

[PS] C:\Windows\system32>Set-ReceiveConnector -identity "Client Proxy MAILBOX1" -MessageRateLimit 20

3、再次查看当前所有接收连接器MessageRateLimit参数的值,显示"Client Proxy MAILBOX1"的每分钟可提交邮件数量已修改为20了:

   

[PS] C:\Windows\system32>Get-ReceiveConnector * |fl Name,MessageRateLimit

Name : Default MAILBOX1

MessageRateLimit : unlimited 

Name : Client Proxy MAILBOX1

MessageRateLimit : 20