MailSync · ajuda
Diagnóstico

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)

Abra o menu Iniciar, digite PowerShell e abra. Não precisa ser como administrador.

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

Se o nc não estiver instalado, o próprio bash resolve:

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.

“O PowerShell não deixa executar” — a política de execução

Se você digitou os comandos acima um a um, isso não vai acontecer: a política de execução do Windows não bloqueia comandos digitados, só arquivos de script (.ps1). Ela aparece quando você junta vários comandos num arquivo para rodar de uma vez, e a mensagem é esta:

... não pode ser carregado porque a execução de scripts
foi desabilitada neste sistema.

A saída é liberar a execução só na janela que está aberta. Feche o PowerShell e a permissão morre com ele — nada fica alterado no computador:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Ele pergunta se você confirma; responda S (ou A para não perguntar de novo naquela janela). Depois disso, rode o seu script normalmente.

Evite as receitas que mudam a máquina inteira. Muita instrução na internet manda rodar Set-ExecutionPolicy Bypass sem o -Scope Process, ou com -Scope LocalMachine. Isso deixa o computador aceitando qualquer script, para sempre, e exige PowerShell como administrador. O -Scope Process resolve o mesmo problema e some sozinho.

Para ver como está hoje, sem mudar nada:

Get-ExecutionPolicy -List

E se alguém já tiver mexido na máquina e você quiser voltar ao padrão do Windows — este precisa de PowerShell aberto como administrador:

Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy Restricted

Lendo a resposta do servidor

RespostaO que significaO que fazer
* OK na primeira linhaO servidor IMAP está no ar e aceitou a conexãoSiga para o login
a1 OK LOGIN completedUsuário e senha corretosNada — o problema está em outro lugar
a1 NO [AUTHENTICATIONFAILED]Usuário ou senha recusadosTeste com o endereço completo e com a parte antes do @; verifique se a conta exige senha de aplicativo
a1 NO [ALERT] Too many …connectionsLimite de conexões simultâneasReduza as migrações em paralelo nas opções do lote
a1 BADComando malformado — quase sempre aspas na senhaUse o curl em vez do teste manual
Connection refusedNinguém atende naquela portaConfirme o endereço e a porta com o provedor
Connection timed outFirewall engolindo o pacote no meioTeste de outra rede; muitos provedores bloqueiam portas de e-mail em links residenciais
certificate verify failedCertificado autoassinado ou vencidoAjuste o modo de criptografia nas opções avançadas do lote
self signed certificateO mesmo casoO mesmo ajuste

Descobrindo o endereço do servidor pelo DNS

Quando ninguém sabe qual é o servidor IMAP, o DNS costuma contar. Comece perguntando quem recebe o e-mail do domínio. No PowerShell:

Resolve-DnsName -Type MX empresa.com.br

E, se existir, o registro que entrega o endereço do IMAP de bandeja:

Resolve-DnsName -Type SRV _imaps._tcp.empresa.com.br

No Linux ou macOS, os mesmos dois:

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.