SMTPAuthenticationError - 个人 hotmail 帐户的 Outlook.live.com 的基本身份验证已禁用

问题描述 投票:0回答:1

我有一个 Python 代码,可以向我发送电子邮件以进行通知。它在 2024 年 10 月 1 日左右停止工作。我检查了错误,它非常不言自明:

SMTPAuthenticationError: (535, b'5.7.139 身份验证失败,基本身份验证已禁用。
[MW3PR06CA0022.namprd06.prod.outlook.com 2024-10-05T17:16:11.773Z 08DCE50B06703488]')

然后我研究了一下,答案是使用OAuth2进行认证。为此,我需要在 Azure Active Directory 或 Entra ID 中注册应用程序。我登录到 Azure 门户(使用我的个人电子邮件帐户)并单击 Entra ID,我收到此错误:

{
  "sessionId": "4081aae14bea491097f866fbc809fc5d",
  "errors": [
{
      "errorMessage": "interaction_required: AADSTS16000: User account '{EUII Hidden}' from identity provider 'live.com' does not exist in tenant 'Microsoft Services' and cannot access the application '74658136-14ec-4630-ad9b-26e160ff0fc6'(ADIbizaUX) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account. Trace ID: e4c76820-5005-42a5-a10d-e862cb662700 Correlation ID: 8b7358b6-c2e9-4f7d-b743-f7e6cef91143 Timestamp: 2024-10-05 17:37:31Z",
  "clientId": "74658136-14ec-4630-ad9b-26e160ff0fc6",
  "scopes": [
    "a57aca87-cbc0-4f3c-8b9e-dc095fdc8978/.default"
  ]
}

更多研究表明我使用的是个人帐户而不是工作/学校帐户,因此我应该使用 https://identity.microsoft.com/ 。我访问该网站并环顾四周,它再次将我引回 Azure AD...所以基本上,我陷入了循环。

Microsoft 现在是否强迫每个人为 Azure 订阅付费,还是我错过了什么?谢谢!

outlook azure-active-directory azure-entra-id
1个回答
0
投票

Microsoft 正在逐步淘汰应用程序密码,它可能不适用于所有帐户。

但在某些情况下,Microsoft 允许用户创建应用程序密码,作为不支持现代身份验证的旧应用程序的后备。这是随机生成的密码,您可以使用它来代替普通密码。

具体方法如下:

  1. 转到 Microsoft 帐户安全设置。
  2. 启用两步验证(如果尚未完成)。
  3. 您现在应该看到创建应用程序密码的选项。
  4. 在您的 python/脚本电子邮件中使用此应用程序密码进行 SMTP 身份验证。

另一个选择可能是检查电子邮件客户端的身份验证设置。 这篇博文介绍了更多细节

© www.soinside.com 2019 - 2024. All rights reserved.