Я пытаюсь отправить электронное письмо через smtp.live.com с помощью токена OAuth, сгенерированного с помощью https://login.microsoftonline.com/common/oauth2/v2.0/… но я получаю следующую ошибку:
535 5.7.3 Authentication unsuccessful
Я могу заставить его работать, получив токен авторизации через https://login.live.com/oauth20_authorize.srf (устаревший API), но это работает только для бесплатных учетных записей Microsoft (мне также нужно поддерживать учетные записи business / Outlook365).
Тот факт, что я могу заставить его работать с помощью этой устаревшей конечной точки, подтверждает, что:
- Сервер поддерживает
XOAUTH2
(который я также проверял через Te lnet EHLO
) - То, что кодировка правильная (я использую этот процесс )
- То, что я должен передать токен полного доступа через
XOAUTH2
, а не что-то странное, как передать его через LOGIN
или декодировать JWT и передать какой-либо компонент и т. д. c.
Маркер доступа кажется действительным (он работает для других вызовов, включая отправку электронной почты через API Graph) .
Я запросил следующие области:
[
'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',
];
Для устаревшего токена (th тот, который работает), области видимости разные:
[
'wl.emails', 'wl.offline_access', 'wl.imap'
];
(я пробовал включать эти области также при запросе токена v2, но он недействителен).
Другие вещи, которые я ' мы пробовали: