【问题标题】:The SMTP server requires a secure connection or the client was not authenticated for service accountSMTP 服务器需要安全连接或客户端未通过服务帐户身份验证
【发布时间】:2019-01-28 07:14:03
【问题描述】:

我需要使用公司共享帐户(出于隐私原因删除了电子邮件地址)发送通知,但一直失败。我尝试了所有可能的代码,但没有成功。

所以,我对这个帐户有点怀疑。然后我使用了我的 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);

【问题讨论】:

  • 我的建议是尝试仔细检查(我想你们都准备好了)服务器等是否正确,如果尝试从另一个地方的另一台 PC 发送电子邮件到看看它是否发送。我确实有并且仍然有类似的问题,在安哥拉,电子邮件帐户无法使用,并且在我的工作电脑(葡萄牙)上可以 100% 工作,甚至制作了一个测试程序,我在安哥拉的电脑上按下按钮(远程桌面)然后在我的电脑上(比如每次点击 4 秒)和我的电脑上发送,而在安哥拉的电脑上它不发送
  • 感谢您的回复。实际上,我已经交叉验证了用户名、密码、服务器等,并且都是正确的。另外,我已经验证了不同的环境和相同的行为。我要强调的是它适用于任何用户帐户,但不适用于服务/共享帐户。我正在尝试查看服务帐户是否需要任何特定权限。显然,有相同的文档。

标签: c# smtp office365api smtp-auth


【解决方案1】:

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

请参阅https://docs.microsoft.com/en-us/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords 了解如何设置。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2011-05-28
    • 2017-12-02
    • 2012-03-06
    • 2015-11-26
    • 2016-09-25
    相关资源
    最近更新 更多