smtp.office365.com smtp服务器中的C#邮件发送错误
我正在使用下面的代码进行SMTP配置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,
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