我正在尝试使用以下配置从我的 Office365 电子邮件帐户的 .Net 6 应用程序发送电子邮件:this
"EmailConfiguration": {
"From": "XXXXXXXXXXX",
"SmtpServer": "smtp.office365.com",
"Port": 25, // tried port 587 also
"Username": "XXXXXXXXX",
"Password": "XXXXXXXX"
}
这是我发送电子邮件的代码:
using var client = new SmtpClient();
try
{
client.Connect(_emailConfig.SmtpServer, _emailConfig.Port, MailKit.Security.SecureSocketOptions.StartTls);
//client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate(_emailConfig.UserName, _emailConfig.Password);
client.Send(mailMessage);
}
catch
{
//log an error message or throw an exception or both.
throw;
}
finally
{
client.Disconnect(true);
client. Dispose();
}
但是我在
client.Authenticate
通话中遇到此错误
MailKit.Security.AuthenticationException:'535:5.7.139 身份验证 不成功,用户被组织的安全默认设置锁定 政策。请联系您的管理员。 [PN2PR01CA0027.INDPRD01.PROD.OUTLOOK.COM 2023-12-10T12:33:11.474Z 08DBF8259ECF3F85]'
我们尝试检查管理面板中的所有内容,以查看特定电子邮件帐户或用户是否被锁定,但我们没有发现类似情况。
我已使用
以下为该特定电子邮件帐户启用了
Authenticated SMTP
设置
我也尝试禁用该设置,但随后我开始收到身份验证失败的错误。
任何人都可以指导我可能出了什么问题吗?
3天前我也遇到了同样的问题。我写信表示支持,但尚未回复。以前一切都对我有用,但后来就停止了。
还没解决吗?
我遇到了同样的问题,发现你必须在 Entra 中启用条件访问。 Microsoft 不推荐这样做,但这是我能够使其正常工作的唯一方法。
要执行此操作:
执行此操作的 Microsoft 官方说明如下:https://learn.microsoft.com/en-us/entra/fundamentals/security-defaults
您还必须关闭您想要发送电子邮件的用户的多重身份验证。可能还有其他方法可以通过应用程序密钥或其他方式来解决此部分,但我对此不是 100% 确定。我确信有人会在这里提出并提及它。