【问题标题】:How to connect to Microsoft Exchange Smtp?如何连接到 Microsoft Exchange SMTP?
【发布时间】:2021-09-14 11:51:48
【问题描述】:

通常,对于 Gmail 和 Outlook,我们有连接到 SMTP 的应用密码(尽管我们可以通过启用不太安全的应用访问来使用电子邮件密码)。

但是对于我的 Microsoft Exchange 邮件,我找不到应用密码,也无法将我的应用与邮件连接以发送电子邮件。

import smtplib
password = "mypassword"
email = "usrname@tsac-uae.com"
s = smtplib.SMTP('smtp.office365.com', 587)
s.starttls()
s.login(email, password)

我收到一个错误提示

smtplib.SMTPAuthenticationError: (535, b'5.7.139 Authentication unsuccessful, 
SmtpClientAuthentication is disabled for the Tenant. 
Visit https://aka.ms/smtp_auth_disabled for more information. 
[AM9P192CA0015.EURP192.PROD.OUTLOOK.COM]')

为避免这些复杂情况,我需要使用应用密码。但我找不到如何设置应用程序密码作为交换。此外,网站上所说的步骤已经过时。我在任何地方都找不到启用 SMTP。

【问题讨论】:

    标签: email smtp exchange-server smtp-auth


    【解决方案1】:

    您需要启用 SMTP 提交(组织范围的设置) 根据您在错误消息中获得的链接,在您的 Microsoft 租户中,该链接扩展为 https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission

    只能通过 powershell 进行更改。执行此更改的一种简单方法是登录https://shell.azure.com。若要在 Azure Cloud Shell 中使用 Exchange Online cmdlet,需要使用 Connect-EXOPSSession 导入 Exchange Online cmdlet。 连接后,启用 SMTP 提交使用

    Set-TransportConfig -SmtpClientAuthenticationDisabled $false 
    

    请务必阅读上面链接的文章以了解安全隐患。 还要注意

    如果您的身份验证策略禁用 SMTP 的基本身份验证, 即使您启用了 SMTP AUTH 协议,客户端也无法使用 本文中概述的设置。如需更多信息,请参阅Disable Basic authentication in Exchange Online

    【讨论】:

      猜你喜欢
      • 2016-07-14
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      相关资源
      最近更新 更多