MailSync · ajuda
Microsoft 365

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

  1. Abra o Microsoft Entra ID Entre em entra.microsoft.com e vá em Aplicativos → Registros de aplicativo → Novo registro.
  2. 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.
  3. 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.
  4. 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

  1. 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.)
  2. 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.
  3. 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.

  1. Instale o módulo e conecte No PowerShell, como administrador:
    Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
    Connect-ExchangeOnline -UserPrincipalName admin@suaempresa.com.br
  2. 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.
  3. Registre o service principal no Exchange
    New-ServicePrincipal -AppId <ID-do-aplicativo> -ServiceId <ID-do-objeto> -DisplayName "MailSync"
    Para conferir depois: Get-ServicePrincipal | Format-List
  4. Dê acesso às caixas Uma caixa:
    Add-MailboxPermission -Identity "ana@suaempresa.com.br" -User <ID-do-objeto> -AccessRights FullAccess
    Todas as caixas de uma vez:
    Get-Mailbox -ResultSize Unlimited | ForEach-Object {
      Add-MailboxPermission -Identity $_.PrimarySmtpAddress -User <ID-do-objeto> -AccessRights FullAccess
    }
  5. Confirme que o IMAP está ligado nas caixas
    Get-CASMailbox -ResultSize Unlimited | Where-Object { -not $_.ImapEnabled }
    Se alguma aparecer, ligue:
    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

  1. 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.
  2. 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.
  3. 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

MensagemCausaSolução
AADSTS7000215: Invalid client secretSegredo 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 foundID do aplicativo errado, ou o tenant informado não é o dono do aplicativoConfira os dois IDs na página Visão geral do registro
AADSTS900023: tenant not foundID do diretório erradoCopie o ID do diretório (locatário), não o do aplicativo
invalid_scopeA permissão IMAP.AccessAsApp não foi adicionada ou não teve consentimentoVolte à Parte 2 e confirme o status Concedido
AUTHENTICATE failed na conta, com token válidoFalta o Add-MailboxPermission para aquela caixaRode a Parte 3 para a caixa que falhou
IMAP is disabled for this mailboxIMAP desligado na caixa ou na política da organizaçãoSet-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.