I have a for loop which calls some code sending emails. I get the following run-time error:
Service not available, closing transmission channel. The server response was: 4.4.2 Message submission rate for this client has exceeded the configured limit
After googling around it appears to be related to the "set-receiveconnector", possible for exchange server? Could anyone advise how I can fix this?
the code:
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
Rather then sending the emails directly can you use a pickup folder?
SmtpMail.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
that way you just dump the messages in to the folder and let exchange send them when its ready, this way if your user can only send say 3 per minute exchange should send 3 then on the next pass send another 3 and so on.
I resolved this problem on my system by using the correct port. The way exchange had been set up meant that SSL = TRUE, Port = 587 produced this error. If I changed it to use Port 25, then everything worked just fine. So check with your sys admins this may help!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With