O Exchange Online é o serviço de email do Microsoft 365 — e é também o serviço que gera mais tickets de helpdesk. Problemas de entrega, Outlook que não conecta, emails na quarentena, NDRs incompreensíveis, regras de transporte mal configuradas: o leque de sintomas é vasto mas a maioria tem causa raiz identificável com as ferramentas certas e uma metodologia de diagnóstico organizada.
Este guia está organizado por tipo de problema — a forma como os tickets chegam ao helpdesk — e para cada categoria fornece a sequência de diagnóstico, as ferramentas a usar, os erros mais comuns e os comandos PowerShell relevantes. É uma referência operacional, não um manual académico.
Neste artigo
- Ferramentas de diagnóstico — visão geral
- Problema 1 — Outlook não conecta ou pede credenciais
- Problema 2 — Email não é entregue (NDR / sem resposta)
- Problema 3 — Códigos de erro NDR — o que significam
- Problema 4 — Problemas de caixa de correio
- Problema 5 — Fluxo de email e conectores
- Problema 6 — Permissões e delegações
- Self-Help Diagnostics do M365 Admin Center
- Referência rápida PowerShell — comandos essenciais
- Checklist de diagnóstico por sintoma
1. Ferramentas de diagnóstico — visão geral
Antes de iniciar qualquer diagnóstico, é importante conhecer o arsenal de ferramentas disponível. Usar a ferramenta errada para o problema certo é a fonte mais comum de diagnósticos inconclusivos.
| Ferramenta | Onde aceder | Melhor para |
|---|---|---|
| Message Trace | EAC → Mail flow → Message trace | Rastrear entrega de emails específicos — o passo 1 em qualquer problema de email |
| Remote Connectivity Analyzer (ExRCA) | testconnectivity.microsoft.com | Testar Autodiscover, conectividade SMTP, TLS, ActiveSync — testes externos ao tenant |
| Self-Help Diagnostics M365 | admin.microsoft.com → Support → Diagnose & fix | Diagnósticos automatizados para Outlook, entrega, NDRs, RBAC — primeiro passo para tickets L1 |
| Exchange Admin Center (EAC) | admin.exchange.microsoft.com | Gestão de caixas de correio, regras de transporte, conectores, quarentena, relatórios |
| Exchange Online PowerShell (EXO v3) | Módulo ExchangeOnlineManagement | Diagnóstico avançado, bulk operations, automatização — o que o EAC não faz |
| Microsoft 365 Service Health | admin.microsoft.com → Health → Service health | Verificar SEMPRE primeiro — se o serviço Exchange Online está degradado, o diagnóstico é desnecessário |
| MXToolbox | mxtoolbox.com | Verificar registos MX, SPF, DKIM, DMARC, blacklists — problemas de entrega externos |
| Outlook SARA (Support and Recovery Assistant) | aka.ms/SaRA-download | Diagnóstico automático do Outlook no PC do utilizador — perfis, Autodiscover, credenciais |
⚠ Regra de ouro antes de qualquer diagnóstico: Verificar o Service Health em admin.microsoft.com → Health → Service health. Se houver um incident activo no Exchange Online, o diagnóstico individual é irrelevante — aguardar a resolução da Microsoft e comunicar ao utilizador o ID do incidente.
2. Problema 1 — Outlook não conecta ou pede credenciais
Este é o ticket de Exchange Online mais frequente. “O Outlook pede a palavra-passe mas não aceita”, “Outlook está a tentar ligar…”, “Não consigo abrir o email”. A árvore de diagnóstico abaixo cobre a grande maioria dos casos.
Sequência de diagnóstico
| Passo | Verificação | Se confirmar |
|---|---|---|
| 1 | O utilizador consegue aceder ao email em outlook.office.com (OWA)? | Se sim: problema é no Outlook Desktop, não no Exchange. Avançar para diagnóstico Outlook. |
| 2 | Verificar Service Health — Exchange Online tem incident activo? | Se sim: comunicar ID ao utilizador, aguardar resolução Microsoft. |
| 3 | A conta do utilizador está activa no M365 Admin Center? Licença atribuída? | Se licença em falta: atribuir licença Exchange Online. Aguardar 15–30 min para provisionamento. |
| 4 | MFA está a bloquear? Verificar se o utilizador completou o registo MFA. | Se MFA não registada: guiar registo em aka.ms/mfasetup. |
| 5 | Perfil Outlook corrompido? Tentar criar novo perfil: Painel de Controlo → Mail → Mostrar Perfis → Adicionar | Se novo perfil funciona: perfil antigo corrompido — recriar. |
| 6 | Credenciais em cache no Windows Credential Manager? Limpar credenciais Microsoft antigas. | Painel de Controlo → Credential Manager → Windows Credentials → remover entradas MicrosoftOffice/outlook |
| 7 | Autodiscover a resolver correctamente? Testar com ExRCA ou com Outlook (Ctrl+clique no ícone do Outlook na barra de sistema → Test E-mail AutoConfiguration) | Se Autodiscover falha: ver artigo Autodiscover do Outlook a Falhar |
Erros comuns e causa provável
| Mensagem de erro no Outlook | Causa mais provável | Acção |
|---|---|---|
| We’re having trouble connecting to the server | Problema de rede, Autodiscover, ou serviço degradado | Verificar Service Health → testar OWA → testar Autodiscover |
| Your credentials are incorrect | Cache de credenciais antigas, MFA não configurada, conta bloqueada | Limpar Credential Manager → verificar conta Entra ID → verificar MFA |
| Cannot expand the folder. Operation failed | Ficheiro OST corrompido ou em falta | Apagar o ficheiro .ost → recriar perfil → resync |
| Outlook cannot log on. Verify you are connected | Perfil corrompido ou licença revogada | Criar novo perfil → verificar licença no Admin Center |
| Need password / Sign in to your account | Modern Auth não activa, Conditional Access a bloquear, token expirado | Verificar Modern Auth no tenant → verificar CA policies → Sign out e re-autenticar |
3. Problema 2 — Email não é entregue
“Enviei um email mas o destinatário não recebeu” ou “Estou a receber um NDR (Non-Delivery Report) quando envio para este endereço”. A sequência de diagnóstico é sempre a mesma — Message Trace primeiro.
Sequência de diagnóstico — email não entregue
- Message Trace imediato — EAC → Mail flow → Message trace → pesquisar por remetente, destinatário e intervalo de tempo. Ver status: Delivered, Failed, Pending, Filtered as spam, Quarantined. Este passo resolve 80% dos tickets de entrega.
- Se status Delivered mas utilizador não vê: verificar pasta Lixo do Destinatário, regras de inbox do utilizador, e pasta de Arquivo. O email chegou — está algures.
- Se status Quarantined: verificar EAC → Email & collaboration → Review → Quarantine. Libertar se legítimo ou ajustar política anti-spam.
- Se status Failed: ler o detalhe do erro no Message Trace → identificar o código NDR (secção 4).
- Se status Pending: verificar se MX record do domínio destinatário está correctamente configurado e se não há blacklist.
- Para emails externos com falha: verificar SPF/DKIM/DMARC do domínio remetente com MXToolbox → verificar se o IP do Exchange Online está em blacklist.
Cenários específicos de não-entrega
| Cenário | Causa típica | Diagnóstico |
|---|---|---|
| Email externo não chega ao Exchange Online | MX record incorreto ou a apontar para servidor legado | MXToolbox → confirmar MX aponta para *.mail.protection.outlook.com |
| Email interno não entrega entre utilizadores do mesmo tenant | Regra de transporte a bloquear, cota da caixa de correio, inbox rule do destinatário | Message Trace → verificar regras de transporte → verificar quota com Get-MailboxStatistics |
| Email para grupo de distribuição não entrega | Grupo configurado para rejeitar externos, membro sem licença, grupo em modo aprovação | Get-DistributionGroup → verificar RequireSenderAuthenticationEnabled e ModerationEnabled |
| Email de sistema/multifunções não entrega | SMTP relay não configurado, IP do dispositivo bloqueado, conector ausente | EAC → Mail flow → Connectors → verificar conector SMTP relay; confirmar IP autorizado |
4. Problema 3 — Códigos de erro NDR — o que significam
Os NDRs (Non-Delivery Reports) do Exchange Online têm códigos de erro padronizados. Conhecer os mais comuns elimina a necessidade de pesquisa em cada ticket.
| Código NDR | Significado | Acção típica |
|---|---|---|
| 5.1.1 | Endereço de email não existe no sistema de destino | Verificar endereço digitado; confirmar utilizador existe no tenant; verificar proxy addresses |
| 5.1.8 | Acesso negado — remetente não autorizado para este destinatário | Verificar políticas RequireSenderAuthenticationEnabled no grupo ou caixa de correio |
| 5.2.2 | Caixa de correio destino com quota excedida | Get-MailboxStatistics → aumentar quota ou limpar caixa de correio |
| 5.3.4 | Tamanho da mensagem excede o limite configurado | Verificar attachment size limits no EAC → Transport rules; ajustar limites se necessário |
| 5.4.1 | Sem route para o servidor de destino — problema de MX ou DNS | Verificar MX record com MXToolbox; verificar accepted domains no EAC |
| 5.4.6 | Mail loop detectado — ciclo de encaminhamento | Verificar regras de forwarding e conectores; procurar configuração circular |
| 5.7.1 | Não autorizado a enviar para este destinatário — política anti-spam | Remetente bloqueado por política; verificar sender reputation e quarentena |
| 5.7.57 | SMTP relay não autenticado — dispositivo/aplicação a tentar relay sem autorização | Configurar conector SMTP relay no EAC com IP autorizado |
| 5.7.606 | IP de origem banido — conta comprometida ou spam | Investigar conta comprometida; usar portal de delistagem Microsoft: aka.ms/delist |
5. Problema 4 — Problemas de caixa de correio
5.1 Quota da caixa de correio excedida
Connect-ExchangeOnline -UserPrincipalName [email protected] # Verificar estatísticas e quota de uma caixa de correio Get-MailboxStatistics -Identity "[email protected]" | Select-Object DisplayName, TotalItemSize, ItemCount, StorageLimitStatus # Verificar os limites de quota configurados Get-Mailbox -Identity "[email protected]" | Select-Object DisplayName, ProhibitSendQuota, ProhibitSendReceiveQuota, IssueWarningQuota # Listar todas as caixas de correio acima de 40 GB Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Where-Object { $_.TotalItemSize.Value.ToGB() -gt 40 } | Select-Object DisplayName, TotalItemSize | Sort-Object TotalItemSize -Descending
5.2 Caixa de correio eliminada — recuperação
# Listar caixas de correio eliminadas (soft-deleted) — disponíveis 30 dias Get-Mailbox -SoftDeletedMailbox | Select-Object DisplayName, PrimarySmtpAddress, WhenSoftDeleted # Recuperar caixa de correio eliminada Undo-SoftDeletedMailbox -SoftDeletedObject "[email protected]" -WindowsLiveID "[email protected]"
ℹ Prazo de recuperação de caixa de correio eliminada: Após eliminar um utilizador no M365, a sua caixa de correio fica em estado soft-deleted durante 30 dias. Após esse prazo, a eliminação é permanente e o conteúdo não é recuperável sem backup de terceiros (ex: Acronis, Veeam) ou Microsoft 365 Backup.
5.3 Caixa de correio partilhada — problemas comuns
| Sintoma | Causa | Solução |
|---|---|---|
| Utilizador não vê a shared mailbox no Outlook | Permissão FullAccess não atribuída ou aguardar propagação | Add-MailboxPermission -AccessRights FullAccess; aguardar 30–60 min |
| Não consegue enviar “como” a shared mailbox | Falta permissão SendAs | Add-RecipientPermission -AccessRights SendAs |
| Emails enviados da shared mailbox ficam em “Sent Items” do utilizador, não da shared mailbox | Comportamento padrão — configuração opcional | Set-Mailbox -MessageCopyForSentAsEnabled $true / Set-Mailbox -MessageCopyForSendOnBehalfEnabled $true |
6. Problema 5 — Fluxo de email e conectores
Configurar SMTP relay para dispositivos/aplicações
Multifunções, ERP, CRM, sistemas de monitoring — todos precisam de enviar email. O Exchange Online suporta três métodos de relay. Usar o método correcto evita o erro NDR 5.7.57:
| Método | Como funciona | Ideal para |
|---|---|---|
| SMTP client submission (porta 587) | Autentica com conta M365 real (SMTP AUTH). Endereço: smtp.office365.com:587 TLS | Aplicações que suportam autenticação moderna — printers, scanners com suporte SMTP AUTH |
| Direct send (porta 25) | Envia directamente para o MX do domínio — sem autenticação. Só funciona para destinatários internos do mesmo domínio | Sistemas legados que só enviam para destinatários internos |
| SMTP relay com conector (porta 25 + IP autorizado) | Conector no EAC que aceita email de IP(s) específicos sem autenticação | Multifunções, sistemas que não suportam TLS, relay para destinatários externos |
# Verificar conectores de fluxo de email existentes Get-InboundConnector | Select-Object Name, Enabled, ConnectorType, SenderIPAddresses Get-OutboundConnector | Select-Object Name, Enabled, ConnectorType, SmartHosts # Verificar regras de transporte activas Get-TransportRule | Select-Object Name, Priority, State, Description | Format-Table -AutoSize
7. Problema 6 — Permissões e delegações
# Ver todas as permissões de uma caixa de correio Get-MailboxPermission -Identity "[email protected]" | Where-Object { $_.User -notlike "NT AUTHORITY*" } | Select-Object Identity, User, AccessRights # Adicionar permissão FullAccess Add-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRights FullAccess -AutoMapping $true # Adicionar permissão SendAs (enviar como) Add-RecipientPermission -Identity "[email protected]" -Trustee "[email protected]" -AccessRights SendAs -Confirm:$false # Adicionar Send on Behalf (enviar em nome de) Set-Mailbox -Identity "[email protected]" -GrantSendOnBehalfTo "[email protected]" # Remover permissão FullAccess Remove-MailboxPermission -Identity "[email protected]" -User "[email protected]" -AccessRights FullAccess -Confirm:$false
8. Self-Help Diagnostics do M365 Admin Center
O M365 Admin Center tem diagnósticos automáticos que verificam configurações específicas e propõem correcções. São o primeiro recurso para helpdesk L1 — rápidos e não requerem PowerShell. Aceder em admin.microsoft.com → Support → Diagnose & fix e escrever a pesquisa abaixo:
| Pesquisa no campo de diagnóstico | O que verifica |
|---|---|
| Outlook Connectivity Issues | Verifica configurações service-side que afectam conectividade Outlook de um utilizador específico |
| Email Delivery Issues | Diagnostica problemas de entrega de email e onde a falha ocorre |
| Email NDR Issues | Explica o código NDR recebido e propõe solução |
| Deleted Mailbox | Verifica se a caixa de correio existe em soft-deleted state e orienta recuperação |
| Exchange Online Accepted Domain | Verifica se um domínio está correctamente configurado como accepted domain |
| EXO Recipient Object Failures | Identifica problemas de aprovisionamento de caixas de correio ou sincronização de objectos |
9. Referência rápida PowerShell — comandos essenciais
Ligar ao Exchange Online
# Instalar módulo (uma vez) Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser # Ligar Connect-ExchangeOnline -UserPrincipalName [email protected] # Desligar Disconnect-ExchangeOnline -Confirm:$false
Diagnóstico rápido de utilizador
$user = "[email protected]" # Info completa da caixa de correio Get-Mailbox -Identity $user | Format-List # Estatísticas (tamanho, itens) Get-MailboxStatistics -Identity $user | Select-Object TotalItemSize, ItemCount, StorageLimitStatus, LastLogonTime # Verificar configuração de auto-reply Get-MailboxAutoReplyConfiguration -Identity $user | Select-Object AutoReplyState, StartTime, EndTime # Listar inbox rules do utilizador Get-InboxRule -Mailbox $user | Select-Object Name, Enabled, Priority, Description # Message trace das últimas 24h para o utilizador Get-MessageTrace -RecipientAddress $user -StartDate (Get-Date).AddDays(-1) -EndDate (Get-Date) | Select-Object Received, SenderAddress, RecipientAddress, Subject, Status | Format-Table -AutoSize
Verificar forwarding suspeito (segurança)
# Listar todas as caixas com forwarding configurado — possível comprometimento Get-Mailbox -ResultSize Unlimited | Where-Object { $_.ForwardingSmtpAddress -ne $null -or $_.ForwardingAddress -ne $null } | Select-Object DisplayName, PrimarySmtpAddress, ForwardingSmtpAddress, ForwardingAddress, DeliverToMailboxAndForward # Remover forwarding de uma caixa de correio Set-Mailbox -Identity "[email protected]" -ForwardingSmtpAddress $null -ForwardingAddress $null
10. Checklist de diagnóstico por sintoma
| Sintoma reportado | 1.º Passo | 2.º Passo | Ferramenta |
|---|---|---|---|
| “Outlook não abre / não conecta” | Testar OWA | Verificar Service Health | outlook.office.com / SARA |
| “Não recebi um email” | Message Trace | Verificar Junk / Quarantine | EAC → Message trace |
| “Enviei email mas voltou com erro” | Ler código NDR | Message Trace no remetente | Tabela NDR secção 4 |
| “Caixa de correio cheia” | Get-MailboxStatistics | Verificar arquivamento automático | EAC / PowerShell |
| “Não consigo ver a caixa partilhada” | Get-MailboxPermission | Aguardar propagação 30–60 min após Add-MailboxPermission | PowerShell / EAC |
| “Multifunções não envia email” | Verificar método de relay configurado | Verificar conector no EAC e IPs autorizados | EAC → Connectors |
| “Clientes externos queixam-se que o nosso email vai para spam” | Verificar SPF, DKIM, DMARC | Verificar blacklists do IP Exchange | MXToolbox / aka.ms/delist |
