当前位置: 首页 > 知识库问答 >
问题:

从Office 365发送电子邮件不再支持基本身份验证和SMTP

华煜祺
2023-03-14

我们注意到最近我们的电子邮件未能进行身份验证。在找到此类操作的原因后,我们发现Office 365 Admin中的策略导致了此问题。

此外,我们还发现它被一项政策阻止,该政策规定我们的应用程序使用传统身份验证方案。后来,据了解,微软将在未来停止允许基本身份验证(传递用户名和密码作为凭据)以及使用IMAPI、POP和SMTP协议进行连接的任何连接。Office 365平台上的进一步通信应至少使用TLS 1.1或1.2

我在Azure中使用Web作业来执行电子邮件,并用于System. Net. Mail. Smtp客户端等电子邮件。此Web作业执行批量电子邮件。我已在SSL/TLS属性下检查了我的应用服务,并设置了仅HTTPS和TLS 1.2。但是,我使用基本身份验证作为身份验证方法。以下是我编写代码的方式:

System.Net.Mail.SmtpClient objSmtpClient = null;

//uses the TLS port 587 with authentication
ServicePointManager.ServerCertificateValidationCallback = delegate (object s, System.Security.Cryptography.X509Certificates.X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
objSmtpClient = new System.Net.Mail.SmtpClient("email.host.com", 587);
objSmtpClient.UseDefaultCredentials = false;
objSmtpClient.Credentials = new NetworkCredential(userName, passWord);
objSmtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
objSmtpClient.EnableSsl = true;

根据这些事实,我想知道在.NET Framework上对Office 365电子邮件服务进行身份验证并发送电子邮件的其他方法有哪些?如果

    < li >不支持SMTP协议 < li >不支持基本认证

参考资料:我可以通过Office e365共享邮箱发送SMTP电子邮件吗?

共有1个答案

廖夜洛
2023-03-14

Microsoft Exchange在线文档显示:

在2022年10月1日永久禁用基本身份验证时,在所有未使用SMTP身份验证的租户中禁用SMTP身份验证,SMTP身份验证仍然可用。SMTP仍然可用的原因是许多多功能设备(如打印机和扫描仪)无法更新为使用现代身份验证。但是,我们强烈建议客户在可能的情况下不要使用带有SMTP AUTH的基本身份验证。

有2个MailKit问题讨论和显示选项代码,当您在m365测试环境租户上禁用SMTP身份验证时,这些问题中的任何一个都可以为您工作吗?

client.Authenticate (new SaslMechanismPlain ("username", "password"));

1:如何使用OAuth2 SASL机制使用Office e365实现服务到服务身份验证?2: Office e365IMAP /POP基本身份验证停用2020年10月

这个测试通过了吗:“TestSaslInitialResponse”

 类似资料:
  • 在Wordfence文档中说: 过滤器“wordfence_ls_require_captcha”可用于在您选择的情况下禁用captcha。这对于包含RESTendpoint的插件可能很有用,这些endpoint具有不需要captcha的身份验证。必要时,您的过滤器应返回false以绕过captcha要求,或者在需要CAPTCH时返回true 如果我尝试通过JWT进行API调用,我会通过电子邮件收

  • 如何使用firebase中的验证电子邮件验证使用电子邮件和密码登录的用户?这背后的逻辑是如何工作的,它在代码中会是什么样子? 解决方案/帮助:对于那些仍在寻找答案的人,我找到了这篇文章 堆栈溢出 帖子

  • 在本章中,我们将向您展示如何使用Firebase电子邮件/密码身份验证。 创建用户 要对用户进行身份验证,我们可以使用createUserWithEmailAndPassword(email, password)方法。 例子 (Example) 让我们考虑以下示例。 var email = "myemail@email.com"; var password = "mypassword"; fire

  • Keycloak是否支持基本身份验证(包含单词basic word后跟空格和base64编码的字符串username:password的授权头),如果支持,我如何为它配置领域和客户端设置?我想用Keycloak保护我的rest api,并支持基本身份验证作为一个选项。

  • 我也不会得到一个错误,如果我登录我的电子邮件和密码没有验证电子邮件。 非常感谢你事先的帮助。

  • 我试图在用户注册时向其发送电子邮件验证。用户已添加到firebase,但电子邮件未发送。我把错误记录到控制台上,它说: 无法读取未定义的属性“sendEmail验证”