1

我的一个客户最近更换了 IT 提供商,并在此过程中重新创建了他们的 Office 365 设置(包括 Sharepoint 和 Outlook)。

当他们这样做时,他们默认打开了 MFA(多因素身份验证)。在这样做时,他们似乎以某种方式阻止了我的应用程序通过他们用户下的 SMTP 服务器发送电子邮件。

这是我的代码的基本示例

using (SmtpClient client = new SmtpClient("Smtp.office365.com", 587))
{
    client.EnableSsl = true;
    client.UseDefaultCredentials = false;
    client.Credentials = new NetworkCredential("user@domain.com", "password");

    MailMessage mail = new MailMessage()
    {
        From = new MailAddress("user@domain.com"),
        IsBodyHtml = false,
        Subject = "Test message",
        Body = "Test content",
    };

    mail.To.Add(new MailAddress("receiver@domain.com"));
    client.Send(mail);
};

当我发送电子邮件时,我收到以下错误 -

System.Net.Mail.SmtpException: 'SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.7.57 客户端未通过身份验证发送邮件。

所以一开始我因为 MFA 被打开而无法发送,但现在我认为这不再是问题了,我们已经尝试了很多东西,但我仍然无法收到要发送的电子邮件。

我可以使用给定的用户名/密码登录帐户,所以我不认为这是一个真正的身份验证问题。

这是我们尝试过的:

  • 启用 SMTP 身份验证

  • 应用程序密码而不是用户密码来规避应用程序中的 MFA。

  • 对此特定用户禁用 MFA。

  • 将此帐户从共享邮箱切换到常规邮箱。

  • 禁用 Azure 安全默认值。

我不知道还能看什么。该错误似乎没有指向任何明显的东西。有人可以帮忙吗。

(另外,为了记录,我知道还有其他类似的问题,但没有人解决问题,所以我们在这里)。

4

0 回答 0