Testar a conexão IMAP
Quando o teste de acesso reprova uma conta, a pergunta é sempre a mesma: o problema é a rede, a porta ou a senha? Dá para responder isso em um minuto, do seu próprio computador, antes de abrir chamado com qualquer provedor.
Primeiro: a porta responde?
Este teste não usa senha nenhuma. Ele só pergunta se existe alguém atendendo naquele endereço e naquela porta.
Windows (PowerShell)
Test-NetConnection imap.servidor.com.br -Port 993
A linha que importa é a última:
ComputerName : imap.servidor.com.br
RemoteAddress : 203.0.113.10
RemotePort : 993
TcpTestSucceeded : True
TcpTestSucceeded : True significa que a porta está aberta e o caminho
até ela está livre. False aponta para firewall, endereço errado ou
servidor fora do ar — e nesse caso a senha nem chegou a ser testada.
Linux e macOS
nc -vz imap.servidor.com.br 993
# ou, se o nc não estiver instalado:
timeout 5 bash -c '</dev/tcp/imap.servidor.com.br/993' && echo aberta || echo fechada
Segundo: o login funciona?
Aqui a senha entra. O comando muda conforme a porta ter criptografia ou não — e é por isso que telnet não serve para a porta 993: ele fala texto puro, e o 993 espera TLS desde o primeiro byte.
Porta 993, com SSL (o caso normal)
openssl s_client -crlf -quiet -connect imap.servidor.com.br:993
O openssl existe no Linux, no macOS e no Windows moderno (dentro do
PowerShell, se você tiver o Git ou o OpenSSL instalados). Depois do monte de linhas
do certificado, o servidor se apresenta e você digita, uma linha por vez:
* OK [CAPABILITY IMAP4rev1 ...] Servidor pronto
a1 LOGIN nome@empresa.com.br SuaSenha
a1 OK LOGIN completed.
a2 LIST "" "*"
* LIST (\HasNoChildren) "." INBOX
* LIST (\HasNoChildren) "." INBOX.Enviados
a2 OK LIST completed.
a3 LOGOUT
Os a1, a2, a3 são etiquetas que você escolhe —
o IMAP exige uma em cada comando, para casar pergunta e resposta. Qualquer texto serve.
Senha com espaço ou caractere especial? Coloque entre aspas duplas:
a1 LOGIN nome@empresa.com.br "se nha com espaço". Se a senha tiver aspas
duplas, este teste manual fica confuso — use o curl, mais abaixo.
Porta 143, sem criptografia
telnet imap.servidor.com.br 143
A conversa é idêntica à de cima. No Windows, o cliente de telnet vem desligado de
fábrica: ligue em Painel de Controle → Programas → Ativar ou desativar recursos
do Windows → Cliente Telnet, ou use o Test-NetConnection para a
porta e o curl para o login.
Na porta 143 a senha viaja em texto puro. Qualquer um no caminho consegue lê-la. Use esse teste só para diagnóstico, dentro de uma rede confiável, e troque a senha depois se tiver dúvida. Para migrar, prefira sempre 993 com SSL.
Porta 143 com STARTTLS
Alguns servidores só aceitam login depois de subir a criptografia na mesma porta 143:
openssl s_client -crlf -quiet -starttls imap -connect imap.servidor.com.br:143
O teste mais rápido de todos: curl
Uma linha, conecta, autentica e lista as pastas. Funciona igual no Windows 10 ou 11
(o curl já vem instalado), no Linux e no macOS:
curl -v --url "imaps://imap.servidor.com.br/" --user "nome@empresa.com.br:SuaSenha"
E para ver quantas mensagens existem na caixa de entrada:
curl --url "imaps://imap.servidor.com.br/INBOX" --user "nome@empresa.com.br:SuaSenha" --request "STATUS INBOX (MESSAGES)"
Sem -v, silêncio é boa notícia: autenticou. Com erro, a resposta do
servidor aparece inteira.
Lendo a resposta do servidor
| Resposta | O que significa | O que fazer |
|---|---|---|
* OK na primeira linha | O servidor IMAP está no ar e aceitou a conexão | Siga para o login |
a1 OK LOGIN completed | Usuário e senha corretos | Nada — o problema está em outro lugar |
a1 NO [AUTHENTICATIONFAILED] | Usuário ou senha recusados | Teste com o endereço completo e com a parte antes do @; verifique se a conta exige senha de aplicativo |
a1 NO [ALERT] Too many …connections | Limite de conexões simultâneas | Reduza as migrações em paralelo nas opções do lote |
a1 BAD | Comando malformado — quase sempre aspas na senha | Use o curl em vez do teste manual |
Connection refused | Ninguém atende naquela porta | Confirme o endereço e a porta com o provedor |
Connection timed out | Firewall engolindo o pacote no meio | Teste de outra rede; muitos provedores bloqueiam portas de e-mail em links residenciais |
certificate verify failed | Certificado autoassinado ou vencido | Ajuste o modo de criptografia nas opções avançadas do lote |
self signed certificate | O mesmo caso | O mesmo ajuste |
Descobrindo o endereço do servidor pelo DNS
Quando ninguém sabe qual é o servidor IMAP, o DNS costuma contar. No PowerShell:
Resolve-DnsName -Type MX empresa.com.br
Resolve-DnsName -Type SRV _imaps._tcp.empresa.com.br
No Linux ou macOS:
dig +short MX empresa.com.br
dig +short SRV _imaps._tcp.empresa.com.br
O MX diz quem recebe o e-mail do domínio hoje — se ele aponta para
…mail.protection.outlook.com, é Microsoft 365; se aponta para
…google.com, é Google Workspace; nos dois casos o caminho é
OAuth, e não senha. O registro SRV, quando
existe, entrega o endereço e a porta do IMAP de bandeja.