smtp.office365.com smtp服务器中的C#邮件发送错误

smtp.office365.com smtp服务器中的C#邮件发送错误,c#,asp.net,email,smtp,office365,C#,Asp.net,Email,Smtp,Office365,我正在使用下面的代码进行SMTP配置 SmtpClient smtp = new SmtpClient { Host = data.SMTPServer, // smtp server address here... Port = data.PortNo, EnableSsl = data.SSL, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false,

我正在使用下面的代码进行SMTP配置

SmtpClient smtp = new SmtpClient
{
    Host = data.SMTPServer, // smtp server address here...
    Port = data.PortNo,
    EnableSsl = data.SSL,
    DeliveryMethod = SmtpDeliveryMethod.Network,
    UseDefaultCredentials = false,
    Credentials = new System.Net.NetworkCredential(senderID, senderPassword),
    Timeout = 30000,
};
smtp.Send(message);
一个客户端已配置SMTP服务器-SMTP.office365.com

SMTP服务器返回以下错误-不带SSL:-

Error in processing. The server response was: 5.7.3 STARTTLS is required to send mail [XXX.XXX.PROD.OUTLOOK.COM]
使用SSL:-

The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 Client not authenticated to send mail. [XXXX.XXXX.PROD.OUTLOOK.COM]
上面的SMTP代码适用于其他客户端。
要解决此问题,需要做什么?

请确保以下几点是正确的:

  • 凭证是正确的
  • 使用正确的端口号(587或25)
  • 应用程序必须能够使用TLS 1.2或更高版本(您可以通过在调用服务之前添加以下代码来测试这一点:
    System.Net.ServicePointManager.SecurityProtocol=SecurityProtocolType.Tls12