SMTP服务器需要安全连接,或者客户端未通过服务帐户的身份验证

时间:2018-08-22 04:24:25

标签: c# smtp office365api smtp-auth

我需要使用公司共享帐户(出于隐私目的,电子邮件地址已删除)来发送通知,但始终失败。我没有运气就尝试了所有可能的代码。

因此,我对该帐户有些怀疑。然后,我使用了我的Office 365工作帐户,并且该帐户工作正常。但是我仍然需要使用共享帐户。

错误信息如下:

  

Message =“ SMTP服务器需要安全连接或客户端   未认证。服务器响应为:5.7.57 SMTP;客户   在MAIL FROM期间未通过身份验证以发送匿名邮件   [D ******* 8.na *** 11.prod.outlook.com]“

var message = new MailMessage("from", "to", "MySubject", "MyBody");
SmtpClient client = new SmtpClient("outlook.office365.com"); 
client.EnableSsl = true; 
client.Port = 587;
client.DeliveryMethod = SmtpDeliveryMethod.Network; 
client.UseDefaultCredentials = false; 
client.Credentials = new NetworkCredential("username", "password");
client.Send(message);

1 个答案:

答案 0 :(得分:0)

如果您的帐户启用了多重身份验证,则需要为Office 365帐户使用“应用程序密码”,而不是用于登录的常规密码。

有关设置方法,请参见https://docs.microsoft.com/en-us/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords