Quantcast
Channel: Active questions tagged email - Stack Overflow
Viewing all articles
Browse latest Browse all 30363

how to handle system.net.mail.smtpfailedrecipientsexception failed recipients

$
0
0

I wanna send email to multiple addresses (more than 1000 users) and use the following code, when I use it to send email to less than 100 users it works, but for more than 100 users it does not work and throw smtpfailedrecipientsexception failed recipients! why? how can I send email to valid addresses and get ride of this error?

public void SendMailMessage (string[] to,string message,string subject)     {        MailMessage mMailMessage = new MailMessage ();        int lenght = to.GetLength(0);        if (lenght > 1) {            foreach (string email in to) {                mMailMessage.Bcc.Add ( email );            }        }        else {            mMailMessage.To.Add ( to[0] );        }                mMailMessage.From = new MailAddress ("no-replay@mycompany.net");                                  SmtpClient mSmtpClient = new SmtpClient ();                mMailMessage.Body = message;                mMailMessage.IsBodyHtml = true;                mMailMessage.Priority = MailPriority.Normal;                mMailMessage.Subject = subject;                mSmtpClient.EnableSsl = true;                                ServicePointManager.ServerCertificateValidationCallback = delegate(object s,X509Certificate certificate,X509Chain chain, SslPolicyErrors sslPolicyErrors) {return true;};                                try {                  mSmtpClient.Send (mMailMessage);                        }        catch (SmtpFailedRecipientsException ex){            for (int i = 0; i < ex.InnerExceptions.Length; i++)            {                SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;                if (status == SmtpStatusCode.MailboxBusy ||                    status == SmtpStatusCode.MailboxUnavailable)                {                    Logger.Debug("Delivery failed - retrying in 5 seconds.");                    System.Threading.Thread.Sleep(5000);                    //client.Send(message);                    mSmtpClient.Send (mMailMessage);                }                else                {                    Logger.Debug (string.Format ("Failed to deliver message to {0},{1}", ex.InnerExceptions[i].FailedRecipient, i));                }            }        }        catch (Exception ex)        {            Logger.Debug (string.Format("Exception caught in RetryIfBusy(): {0}", ex.ToString() ));        }    }

Viewing all articles
Browse latest Browse all 30363

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>