Search code examples
c#.netexchange-server

Message submission rate for this client has exceeded the configured limit?


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

Solution

  • 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.