Understand Exchange message rate limit – 4.4.2 Message submission rate for this client has exceeded the configured limit

exchangeexchange-2010

I have this problem on my application to relay email through port 587 of our Exchange 2010: error prompt was 4.4.2 Message submission rate for this client has exceeded the configured limit.

I understand this is due to the MessageRateLimit of my receiver connector. I checked the limit is 5 and limit by user (MessageRateSource), and I think the problem probably will be fixed by increasing the limit to 50 or 100. However I would like to understand this configuration more (how if I set it to 50 now and it hit the same error tomorrow?)

Based on MS site, this is throttling setting to limit "The maximum number of messages per minute that can be sent by a single source". So I tested using powershell script (not sure whether it does matter, so I include the partial code below):

$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer , $emailSmtpServerPort )
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser , $emailSmtpPass );
#[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { return $true }
$SMTPClient.Send( $emailMessage )

In this script I'm first submit the email with another user ID, and the result: I'm able to submit email to the same receiver more than 5 times within a minutes. So why does the limit not applied to this case?

After that, I tried the script with my application ID, the same error (4.4.2) prompted. I then checked the tracking log explorer and I found there is no other email submitted with that application ID. So is it Exchange store the user count some where which I need to reset it? And how can I trace the email submission? It doesn't seem appears in tracking log explorer, so as my concern earlier, it might hit the same error even I change it to 50, I'm unable to troubleshoot further without able to trace them.

Sorry as the question is a bit long.

Appreciate if anyone can provide me some clues.

Best Answer

I am going to flip this question on its head. When a client comes to me with this issue, the first thing I ask is why are the messages being relayed through Exchange? Exchange makes a very poor bulk emailer, and there are better options. Why isn't the application sending the email itself, or via its own server rather than Exchange?

If you have an application sending so much email to external recipients that it is tripping over the throttling limits then I wouldn't want that anywhere near Exchange. It is only a matter of time before it gets blacklisted. Own IP address, own PTR and DNS and send email itself.

Not the answer you are looking for I admit, but often thinking of the issue another way gives you a better way of dealing with the issue.

Related Topic