Office 365" 535 5.7.3身份验证失败"

时间:2018-01-12 10:47:16

标签: c# email asp.net-core office365

我在Asp.Net Core 1.1中创建了一个WebApi,它在Azure中托管。发送电子邮件是本Api的一部分。为此,我使用MailKit.SmtpClient和以下代码:

using (var client = new SmtpClient())
{
                client.LocalDomain = "smtp.office365.com";
                await client.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.StartTls).ConfigureAwait(false);
                client.AuthenticationMechanisms.Remove("XOAUTH2");
                client.Authenticate(Constants.AccountData.Login, Constants.AccountData.Password);
                await client.SendAsync(mimeMessage).ConfigureAwait(false);
                await client.DisconnectAsync(true).ConfigureAwait(false);
}

直到上周它才能运作良好。从那以后,每次我做

client.Authenticate(Constants.AccountData.Login, Constants.AccountData.Password);

我成为错误535 5.7.3身份验证失败 我检查了O365帐户,我通常可以使用Microsoft登录页面和我们在应用程序中使用的凭据登录O365。可以肯定的是,我们更改了此帐户的密码,但这没有帮助。

我决定将App迁移到.Net Core 2.0并使用.NET库中的SmtpClient进行检查。我将迁移的应用程序发布到Azure并配置了SmtpClient,如本文所述 - > https://blogs.msdn.microsoft.com/benjaminperkins/2017/01/11/sending-email-from-an-azure-web-app-using-an-o365-smtp-server/

现在我变成了Timeout(操作已经超时了。)。

当属性EnableSsl = false时,我变成了其他错误,连接不安全。

我也尝试过设置属性

client.TargetName = "STARTTLS/smtp.office365.com";

但它没有帮助。

有谁知道我该怎么做才能让它发挥作用?

我觉得问题出在其他地方(可能在o365),但我不知道在哪里看......任何建议都会非常有帮助。

0 个答案:

没有答案