Outlook 365 OAuth 535 5.7.3 Аутентификация не удалась - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь отправить электронное письмо через 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, но он недействителен).

Другие вещи, которые я ' мы пробовали:

1 Ответ

2 голосов
/ 08 января 2020

SMTP-серверы Office 365 не поддерживают проверку подлинности OAuth.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...