如何解决Office 365 -“535:5.7.3 身份验证失败”
我使用 MSAL 库发送 O365 邮件。在前端(angular)生成访问令牌并将令牌传递给后端(.Net)以发送邮件。之后抛出异常“535:5.7.3 身份验证不成功”。但是如果我在后端生成令牌并传递给发送邮件的代码,它就可以正常工作。
试试{ var email1 = new MimeMessage();
email1.From.Add(MailBoxAddress.Parse(request.UserEmail));
email1.To.Add(MailBoxAddress.Parse("chathura.ishan9@gmail.com"));
email1.Subject = "Test Email Subject";
email1.Body = new TextPart(textformat.Html) { Text = "<h1>Example HTML Message Body</h1>" };
using (var client = new SmtpClient(new ProtocolLogger(Console.OpenStandardOutput())))
{
try
{
client.Connect("smtp.office365.com",587,SecureSocketoptions.StartTls);
var oauth21 = new SaslMechanismOAuth2(request.UserEmail,request.Token);
client.Authenticate(oauth21);
client.Send(email1);
client.disconnect(true);
}
catch (Exception ex)
{
Console.WriteLine(ex);
throw;
}
}
解决方法
这与 Angular 的 MSAL 库无关。问题是您的 Office 365 帐户的 SMTP 身份验证被禁用。为了验证您的 Office 365 帐户,第三方应用程序使用 SMTP 提交。您可以使用以下说明激活 SMTP 身份验证。可以在 Exchange Online 中启用或禁用经过身份验证的客户端 SMTP 提交 (SMTP AUTH)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。