Outlook 365 OAuth 535 5.7.3 认证不成功
Outlook 365 OAuth 535 5.7.3 Authentication unsuccessful
我正在尝试使用通过 https://login.microsoftonline.com/common/oauth2/v2.0/ 生成的 OAuth 令牌通过 smtp.live.com 发送电子邮件……但我收到以下错误:
535 5.7.3 Authentication unsuccessful
我可以通过 https://login.live.com/oauth20_authorize.srf(遗留 API)获取授权令牌使其工作,但这仅适用于免费的 Microsoft 帐户(我也需要支持 business/Outlook365 帐户).
我可以使用那个遗留端点使其工作的事实似乎证实了这一点:
- 服务器支持
XOAUTH2
(我也通过Telnet验证EHLO
)
- 编码正确(我正在使用 this process)
- 我打算通过
XOAUTH2
传递完整的访问令牌,而不是像通过 LOGIN
传递它那样奇怪的东西,或者解码 JWT 并传递一些组件等。
访问令牌似乎有效(它适用于其他调用,包括通过 Graph API 发送电子邮件)。
我请求了以下范围:
[
'offline_access', 'User.Read', 'MailboxSettings.ReadWrite',
'Mail.Send', 'Mail.ReadWrite', 'Mail.Read', 'Mail.ReadBasic', 'Contacts.ReadWrite',
'Mail.Read.Shared', 'Mail.ReadWrite.Shared', 'Mail.Send.Shared', 'MailboxSettings.Read',
'profile', 'openid', 'email', 'Calendars.ReadWrite',
'EAS.AccessAsUser.All', 'EWS.AccessAsUser.All',
];
对于遗留令牌(有效的令牌),范围不同:
[
'wl.emails', 'wl.offline_access', 'wl.imap'
];
(我也尝试在请求 v2 令牌时包括这些范围,但它无效)。
我尝试过的其他事情:
- 使用 smtp.office365.com 而不是 smtp.live.com
- 正在获取新的访问令牌
- 确保根据 this article
正确配置应用程序 settings/permissions
- Enable Exchange SMTP Auth
Office 365 SMTP 服务器目前不支持 OAuth 身份验证。
我正在尝试使用通过 https://login.microsoftonline.com/common/oauth2/v2.0/ 生成的 OAuth 令牌通过 smtp.live.com 发送电子邮件……但我收到以下错误:
535 5.7.3 Authentication unsuccessful
我可以通过 https://login.live.com/oauth20_authorize.srf(遗留 API)获取授权令牌使其工作,但这仅适用于免费的 Microsoft 帐户(我也需要支持 business/Outlook365 帐户).
我可以使用那个遗留端点使其工作的事实似乎证实了这一点:
- 服务器支持
XOAUTH2
(我也通过Telnet验证EHLO
) - 编码正确(我正在使用 this process)
- 我打算通过
XOAUTH2
传递完整的访问令牌,而不是像通过LOGIN
传递它那样奇怪的东西,或者解码 JWT 并传递一些组件等。
访问令牌似乎有效(它适用于其他调用,包括通过 Graph API 发送电子邮件)。
我请求了以下范围:
[
'offline_access', 'User.Read', 'MailboxSettings.ReadWrite',
'Mail.Send', 'Mail.ReadWrite', 'Mail.Read', 'Mail.ReadBasic', 'Contacts.ReadWrite',
'Mail.Read.Shared', 'Mail.ReadWrite.Shared', 'Mail.Send.Shared', 'MailboxSettings.Read',
'profile', 'openid', 'email', 'Calendars.ReadWrite',
'EAS.AccessAsUser.All', 'EWS.AccessAsUser.All',
];
对于遗留令牌(有效的令牌),范围不同:
[
'wl.emails', 'wl.offline_access', 'wl.imap'
];
(我也尝试在请求 v2 令牌时包括这些范围,但它无效)。
我尝试过的其他事情:
- 使用 smtp.office365.com 而不是 smtp.live.com
- 正在获取新的访问令牌
- 确保根据 this article 正确配置应用程序 settings/permissions
- Enable Exchange SMTP Auth
Office 365 SMTP 服务器目前不支持 OAuth 身份验证。