【发布时间】:2016-01-20 14:44:23
【问题描述】:
我每天使用 Office 365 smtp 服务器发送大约 2-3000 封电子邮件。 99% 的电子邮件发送正确,但大约 1% 的时间我收到以下错误:
SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 SMTP;在 MAIL FROM 期间,客户端未通过身份验证发送匿名邮件。
这是我的代码:
private void SendEmail(string strTo, string strFrom, string strMessage, string strSubject, bool htmlFormat = true)
{
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
System.Net.Mail.MailAddress mto = new System.Net.Mail.MailAddress(strTo);
System.Net.Mail.MailAddress mfrom = new System.Net.Mail.MailAddress(strFrom);
mail.Subject = strSubject;
mail.From = mfrom;
mail.To.Add(mto);
mail.Body = strMessage;
mail.IsBodyHtml = htmlFormat;
System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient("smtp.office365.com", 587);
mailClient.Timeout = 1000000;
mailClient.EnableSsl = true;
mailClient.UseDefaultCredentials = false;
mailClient.Credentials = new System.Net.NetworkCredential("my@emailaddress.com", "mypassword");
mailClient.Send(mail);
}
有人知道为什么会如此间歇性地发生这种情况吗?!
【问题讨论】:
-
您是否通过代码中的循环来执行此操作?还是您使用批处理来发送大量电子邮件?
-
邮件在队列中,我每分钟最多发送 10 封邮件