微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Office 365 -“535:5.7.3 身份验证失败”

如何解决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)。

在此处了解更多信息:https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。