Регистрация приложения Microsoft
Зарегистрируйте собственное приложение Microsoft для входа в Outlook.com и Microsoft 365: адрес перенаправления и права, которые нужны Mail.
Outlook.com и Microsoft 365 принимают для IMAP и SMTP только OAuth, поэтому mail входит через приложение Microsoft.
Эта страница для того, кто регистрирует такое приложение: WireCat один раз для всех или вы для себя. Это занимает около
получаса и ничего не стоит.
Когда приложение создано, его Application (client) ID попадает либо в сам mail (приложение WireCat), либо один
раз в вашу конфигурацию:
mail config set --defaults microsoft_client_id <application-client-id>Задать его можете только вы, в терминале: агенту через MCP в этом отказано, как и для настроек почтового сервера. Идентификатор публичный; у приложения для компьютера нет секрета.
Что понадобится
- Аккаунт Microsoft, который может создавать приложения в тенанте Microsoft Entra. Рабочий или учебный аккаунт обычно может. У личного аккаунта Outlook.com собственного тенанта нет: сначала зарегистрируйте бесплатный аккаунт Azure, он его создаст (регистрация приложения, предварительные требования).
- Личный почтовый ящик Outlook.com, чтобы в конце проверить приложение.
Шаги
-
Откройте центр администрирования Microsoft Entra и войдите.
-
Откройте App registrations (введите это в строку поиска вверху) и выберите New registration.
-
Заполните форму:
- Name:
WireCat mail(пользователи видят его на странице согласия). - Supported account types: Any Entra ID Tenant + Personal Microsoft accounts. Без личных аккаунтов пользователи Outlook.com не смогут войти.
- Redirect URI: оставьте пустым; его добавит шаг 6.
- Name:
-
Выберите Register. Откроется страница приложения Overview. Скопируйте Application (client) ID: это идентификатор, который нужен
mail. -
Разрешите вход с компьютера: в разделе Manage выберите Authentication. В Advanced settings переключите Allow public client flows в Yes и выберите Save.
-
Добавьте URI перенаправления. В разделе Manage выберите Authentication, затем Add a platform, затем Mobile and desktop applications. В Custom redirect URIs введите
http://localhost/callbackбез порта и выберите Configure.mailвходит черезhttp://localhost:<port>/callbackс новым портом каждый раз; Microsoft игнорирует порт только для адресовlocalhostи требует совпадения пути (правила URI перенаправления). Править манифест не нужно. Не добавляйте адрес на платформу Web: такое приложение ожидает клиентский секрет, и вход публичного клиента через неё не удаётся. Если адрес уже указан в Web, удалите его оттуда. -
Перечислите разрешения, чтобы страница согласия и администраторы видели их заранее. Вход всё равно запрашивает их по именам (области доступа), поэтому этот шаг рекомендуется, но не обязателен. Страница Microsoft не описывает шаги в портале для этих делегированных разрешений; обычно они находятся в Manage, API permissions, Add a permission, Microsoft Graph, Delegated permissions (если нет, то APIs my organization uses, Office 365 Exchange Online). Отметьте:
IMAP.AccessAsUser.AllSMTP.Sendoffline_access
Выберите Add permissions. Не предоставляйте для них согласие администратора: каждый человек разрешает их для своего почтового ящика при входе. Microsoft по умолчанию позволяет пользователям делать это для собственной почты (согласие пользователя).
-
Проверьте перенаправление. Запишите идентификатор в конфигурацию, как описано выше, затем войдите дважды:
mail config set --defaults microsoft_client_id <application-client-id> mail outlook-test session start --address <your-address>@outlook.com mail outlook-test session startОба входа должны завершиться
signed_in: true. Если страница Microsoft показывает ошибку сAADSTS50011(URI перенаправления не совпадает), убедитесь, что адрес в Mobile and desktop applications точно равенhttp://localhost/callback. -
Для собственного приложения WireCat: отправьте Application (client) ID сопровождающим. Они впишут его в
WIRECAT_MICROSOFT_CLIENT_IDвsrc/oauth.ts, и следующий релиз будет входить без какой-либо конфигурации.
Позже, для начала не нужно
- Publisher verification (проверка издателя) добавляет на страницу согласия значок проверенного издателя, а некоторые организации разрешают только проверенные приложения. Это бесплатно, но нужны аккаунт Microsoft AI Cloud Partner Program и подтверждённый собственный домен (проверка издателя). Пока её нет, пользователь Microsoft 365, чей администратор ограничил согласие, просит администратора одобрить приложение или зарегистрировать собственное приложение организации по этим шагам и передать ему идентификатор.
- Отправка из Microsoft 365 требует включённой для ящика функции «Authenticated SMTP». Параметры безопасности по умолчанию и организации, созданные после января 2020 года, её отключают; администратор включает её для каждого ящика (SMTP AUTH). Чтение работает в любом случае.
О чём просит вход
| Scope | Что mail с ним делает |
|---|---|
https://outlook.office.com/IMAP.AccessAsUser.All | читает и изменяет почту по IMAP |
https://outlook.office.com/SMTP.Send | отправляет почту от имени аккаунта по SMTP |
offline_access | токен обновления, чтобы синхронизация по расписанию не требовала нового входа |
Токены хранятся в системной связке ключей компьютера, на котором выполнен вход, так же как и пароли приложений. mail <profile> session end забывает их; Microsoft продолжает показывать приложение в списке, пока вы не удалите его на
https://account.live.com/consent/Manage (личный аккаунт) или https://myapps.microsoft.com (рабочий или учебный).