Аутентификация

OAuth 2.0 для Microsoft 365: когда пароль приложения не работает

С остальными провайдерами схема простая: включил двухфакторную аутентификацию, выпустил пароль приложения, перенёс почту. С Microsoft 365 так не получится — там этой двери больше нет.

Что именно отключили

Exchange Online перестал принимать по IMAP обычную пару логин-пароль: это и есть basic auth, устаревшая аутентификация. Отказ приходит на этапе входа и выглядит как неверный пароль, хотя пароль верный.

Паролей приложений, как у Google или Apple, в Microsoft 365 в общем случае нет: политика безопасности по умолчанию их не выдаёт. Поэтому совет «выпустите пароль приложения» здесь просто не выполним.

Вместо этого используется OAuth 2.0 — механизм, в котором клиент получает токен доступа, а не пароль. По IMAP он передаётся расширением XOAUTH2.

Так выглядит отказ при попытке basic auth
a1 LOGIN "user@company.com" "********"
a1 NO LOGIN failed. Basic authentication is disabled for this tenant.

Как это работает на практике

Пользователь входит через обычную страницу Microsoft, подтверждает второй фактор и соглашается выдать приложению доступ к почте. Приложение получает токен, ограниченный по правам и по времени, и ходит с ним по IMAP.

Для переноса это лучше пароля сразу по двум причинам: токен нельзя использовать для входа в аккаунт, и он протухает сам, даже если о нём забыли.

Если вы не администратор

Это самый частый тупик: почта корпоративная, прав нет, а переехать надо.

  1. Проверьте, включён ли IMAP для вашего ящика вообще: администратор мог выключить протокол отдельно от аутентификации.
  2. Попросите администратора либо дать согласие для приложения переноса, либо временно разрешить устаревшую аутентификацию для одного ящика на время переезда.
  3. Если ни то, ни другое невозможно — перенос в обратную сторону обычно остаётся доступен: почту забирают на другой сервер и уже оттуда загружают, пользуясь доступом, который есть.
  4. Крайний вариант — экспорт средствами самого Microsoft 365 и загрузка получившегося архива на новый сервер по IMAP.

Чем это отличается от Outlook.com

Личные ящики Outlook.com и Hotmail — отдельная история от корпоративного Microsoft 365, хотя интерфейс похож. Там свои настройки доступа, и они менялись не одновременно с корпоративными.

Практический вывод один: перед переносом с любого адреса Microsoft стоит сначала проверить подключение, а не начинать копирование вслепую. Проверка занимает секунды и сразу показывает, чего именно не хватает.

FAQ

Частые вопросы

Можно ли выпустить пароль приложения в Microsoft 365?

В большинстве тенантов нет: политика по умолчанию их не выдаёт. Штатный путь — OAuth.

Безопаснее ли токен, чем пароль?

Да: им нельзя войти в аккаунт, его права ограничены почтой, и он истекает сам.

Что должен сделать администратор тенанта?

Дать согласие приложению на доступ к почте по IMAP или, как временная мера, разрешить устаревшую аутентификацию для конкретного ящика.

Сервер отвечает AUTHENTICATIONFAILED — это точно OAuth?

Не обязательно. Тот же код приходит при выключенном IMAP и при неверном формате логина; разбор причин — на отдельной странице.

Куда дальше

Перенести почту в MoveMailbox

Другие записи

Узнайте объём своего ящика. Это ничего не стоит.

Подключите два сервера, посмотрите размер и решайте. Или заберите клиент и держите всё у себя.

Код на GitHub · на базе imapsync · без регистрации