Office SMTP服务器

时间:2016-01-20 14:44:23

标签: c# smtp office365

我每天使用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);
}

有人知道为什么会这么间歇地发生这种情况?!

1 个答案:

答案 0 :(得分:1)

这不是代码问题,您需要知道每天从客户端应用发送的收据数量,而不是电子邮件数量。

电子邮件可能包含多个收件人。因此,如果您发送2封电子邮件,每封包含4张收据,则您将发送8封电子邮件。然后将此数字与最大值进行比较。您的o365订阅每天都会收到电子邮件。

请查看每个订阅的收件人费率限制,收件人限制和邮件限额。

在这里查看这些限制:

https://technet.microsoft.com/en-us/library/exchange-online-limits.aspx

希望这有帮助。