为什么Office 365的SMTP身份验证对于一个域却失败,而对于另一个域却不失败?

问题描述

我有一些简单的C#代码(在.NET 4.8上),使用MailKit通过Office 365发送邮件

var messagetoSend = new MimeMessage
{
    Sender = new MailBoxAddress("Data Catalyst Site","xxx@xxx.xx"),Subject = "New Data Catalyst Site Contact",Body = new TextPart(textformat.Html) { Text = $"<html>{builder.ToString()}</html>" }
};

messagetoSend.To.Add(new MailBoxAddress("DataCatalyst","yyy@xxx.xx"));

using (var smtp = new MailKit.Net.Smtp.SmtpClient())
{
    smtp.ServerCertificateValidationCallback = (s,c,h,e) => true;

    await smtp.ConnectAsync("smtp.office365.com",587,SecureSocketoptions.StartTls);
    await smtp.AuthenticateAsync("xxx@xxx.xx","********");
    await smtp.SendAsync(messagetoSend);
    await smtp.disconnectAsync(true);

};

我们有多个Office 365域。如果我使用一个域中的任何邮箱,则工作正常。如果我使用另一个邮箱,它将失败:

SmtpCommandException: 5.7.3 Authentication unsuccessful [LNXP265CA0036.GBRP265.PROD.outlook.com]

我已经用我们通常的出站邮件帐户,我自己的帐户以及为该测试创建的新帐户/邮箱进行了测试。在每种情况下,我都非常了解密码,并且已经登录到办公室门户进行验证。

由于失败遍及多个邮箱,因此感觉就像是办公室配置中的某个设置-但是在哪里?还是我们还缺少什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)