Paw*_*iya 5 smtp smtpclient .net-6.0
我正在尝试使用以下配置从我的 Office365 电子邮件帐户的 .Net 6 应用程序发送电子邮件
"EmailConfiguration": {
"From": "XXXXXXXXXXX",
"SmtpServer": "smtp.office365.com",
"Port": 25, // tried port 587 also
"Username": "XXXXXXXXX",
"Password": "XXXXXXXX"
}
Run Code Online (Sandbox Code Playgroud)
这是我发送电子邮件的代码:
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();
}
Run Code Online (Sandbox Code Playgroud)
client.Authenticate但我在通话时收到此错误
MailKit.Security.AuthenticationException: '535: 5.7.139 身份验证失败,用户被组织的安全默认策略锁定。请联系您的管理员。[PN2PR01CA0027.INDPRD01.PROD.OUTLOOK.COM 2023-12-10T12:33:11.474Z 08DBF8259ECF3F85]'
我们尝试检查管理面板中的所有内容,以查看特定电子邮件帐户或用户是否被锁定,但我们没有发现类似情况。
我已使用以下命令Authenticated SMTP启用了该特定电子邮件帐户的设置
我也尝试禁用该设置,但随后我开始收到身份验证失败的错误。
有人可以指导我可能出了什么问题吗?
小智 2
我遇到了同样的问题,发现您必须在 Entra 中启用条件访问。Microsoft 不推荐这样做,但这是我能够使其正常工作的唯一方法。
\n去做这个:
\n执行此操作的 Microsoft 官方说明如下: https: //learn.microsoft.com/en-us/entra/fundamentals/security-defaults
\n您还必须关闭您想要发送电子邮件的用户的多重身份验证。可能还有其他方法可以通过应用程序密钥或其他方式来解决此部分,但我对此不是 100% 确定。我确信有人会在这里提出这一点。
\n| 归档时间: |
|
| 查看次数: |
8715 次 |
| 最近记录: |