Configurar OAuth na Microsoft 365
A Microsoft desligou o login com senha no IMAP do Exchange Online. Para migrar de ou para o Microsoft 365, é preciso registrar um aplicativo e dar a ele acesso às caixas. Parece burocrático, mas são quinze minutos — e vale para todas as caixas do mesmo tenant de uma vez.
O que você vai coletar no caminho: três valores — ID do diretório (tenant), ID do aplicativo (cliente) e um segredo do cliente. São exatamente os três campos que o MailSync pede em Opções avançadas → Microsoft 365.
Você precisa ser administrador global do tenant, ou ter alguém que seja à mão para o passo do consentimento e para os comandos do Exchange Online.
Parte 1 — Registrar o aplicativo
- Abra o Microsoft Entra ID Entre em entra.microsoft.com e vá em Aplicativos → Registros de aplicativo → Novo registro.
-
Preencha o registro
Nome:
MailSync(ou o que preferir). Em tipos de conta suportados, deixe Somente contas neste diretório organizacional. Não precisa de URI de redirecionamento — este aplicativo não abre tela de login para ninguém. -
Anote os dois primeiros valores
Na página Visão geral do aplicativo recém-criado, copie o
ID do aplicativo (cliente) e o ID do diretório (locatário). São dois
códigos no formato
00000000-0000-0000-0000-000000000000. - Crie o segredo do cliente Em Certificados e segredos → Novo segredo do cliente, escolha a validade e confirme. O Valor aparece uma única vez — copie agora. Se perder, é só criar outro; ele não pode ser lido depois.
Copie o “Valor”, não o “ID do segredo”. São dois campos lado a lado, e trocá-los é o erro mais comum desta tela. O valor é uma sequência longa com letras, números e símbolos; o ID do segredo tem cara de GUID.
Parte 2 — Dar a permissão de IMAP
- Vá em Permissões de API → Adicionar uma permissão Escolha a aba APIs que minha organização usa e procure por Office 365 Exchange Online. (Ela não está na lista das APIs mais usadas — procure pelo nome.)
- Escolha “Permissões de aplicativo” Não “Permissões delegadas”: não há usuário sentado na frente do computador durante uma migração. Marque IMAP.AccessAsApp e adicione.
- Conceda o consentimento do administrador De volta à lista, clique em Conceder consentimento do administrador para [sua organização]. A permissão precisa ficar com o status Concedido em verde. Sem isso, o token até é emitido, mas o servidor recusa a conexão IMAP.
Parte 3 — Liberar as caixas no Exchange Online
Este é o passo que quase toda documentação esquece. Ter a permissão no Entra ID autoriza o aplicativo a pedir acesso; ainda é preciso dizer ao Exchange Online a quais caixas ele pode chegar. Isso só existe em PowerShell.
-
Instale o módulo e conecte
No PowerShell, como administrador:
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser Connect-ExchangeOnline -UserPrincipalName admin@suaempresa.com.br - Pegue o ID do objeto do aplicativo empresarial No Entra ID, vá em Aplicativos → Aplicativos empresariais, procure pelo nome que você registrou e copie o ID do objeto. Atenção: é o ID do objeto do aplicativo empresarial, que é diferente do ID do objeto que aparece no registro do aplicativo.
-
Registre o service principal no Exchange
Para conferir depois:New-ServicePrincipal -AppId <ID-do-aplicativo> -ServiceId <ID-do-objeto> -DisplayName "MailSync"Get-ServicePrincipal | Format-List -
Dê acesso às caixas
Uma caixa:
Todas as caixas de uma vez:Add-MailboxPermission -Identity "ana@suaempresa.com.br" -User <ID-do-objeto> -AccessRights FullAccessGet-Mailbox -ResultSize Unlimited | ForEach-Object { Add-MailboxPermission -Identity $_.PrimarySmtpAddress -User <ID-do-objeto> -AccessRights FullAccess } -
Confirme que o IMAP está ligado nas caixas
Se alguma aparecer, ligue:Get-CASMailbox -ResultSize Unlimited | Where-Object { -not $_.ImapEnabled }Set-CASMailbox -Identity "ana@suaempresa.com.br" -ImapEnabled $true
Só as caixas que você liberar são acessíveis. O aplicativo não enxerga o
tenant inteiro por padrão — ele enxerga exatamente a lista de caixas em que você
rodou o Add-MailboxPermission. Depois da migração, vale remover a
permissão com Remove-MailboxPermission e apagar o segredo do cliente.
Parte 4 — Preencher no MailSync
-
Abra o lote e vá em Opções avançadas
A seção Microsoft 365 aparece sozinha quando algum lado do lote usa
outlook.office365.com— que é o servidor IMAP a informar nas contas. - Preencha os três campos ID do diretório (tenant), ID do aplicativo (cliente) e o segredo. O segredo é guardado cifrado e nunca é exibido de volta.
- Clique em “Testar token” O MailSync pede um token à Microsoft na hora e diz o que voltou. Só depois disso rode o teste de acesso das contas.
Erros comuns e o que eles querem dizer
| Mensagem | Causa | Solução |
|---|---|---|
AADSTS7000215: Invalid client secret | Segredo errado, vencido, ou você copiou o “ID do segredo” no lugar do “Valor” | Crie um segredo novo e copie o campo Valor |
AADSTS700016: Application not found | ID do aplicativo errado, ou o tenant informado não é o dono do aplicativo | Confira os dois IDs na página Visão geral do registro |
AADSTS900023: tenant not found | ID do diretório errado | Copie o ID do diretório (locatário), não o do aplicativo |
invalid_scope | A permissão IMAP.AccessAsApp não foi adicionada ou não teve consentimento | Volte à Parte 2 e confirme o status Concedido |
AUTHENTICATE failed na conta, com token válido | Falta o Add-MailboxPermission para aquela caixa | Rode a Parte 3 para a caixa que falhou |
IMAP is disabled for this mailbox | IMAP desligado na caixa ou na política da organização | Set-CASMailbox … -ImapEnabled $true |
Quando o Microsoft 365 é o destino
Vale o mesmo roteiro, com uma diferença de ordem: crie as caixas no 365 antes
de rodar o Add-MailboxPermission — a permissão é por caixa, e uma caixa
que ainda não existe não pode recebê-la. Vale também conferir o espaço do plano
contratado antes de copiar caixas grandes.