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.