técnico · resposta com fontes

Como verificar se a porta 587 está aberta

Você pode verificar se a porta 587 está aberta usando uma ferramenta de linha de comando, como telnet, netcat ou PowerShell, para tentar uma conexão com o seu servidor SMTP. Se a conexão funcionar, o servidor normalmente responde com um código de saudação 220, indicando que a porta está aberta e aceitando conexões para envio de e-mail.

Como usar o telnet para testar a conectividade

O telnet é uma ferramenta padrão para testar a conectividade TCP. Execute o comando telnet smtp.example.com 587 no terminal. Se a tela ficar em branco ou mostrar uma saudação do servidor, a porta está aberta. Se você receber um erro de conexão recusada ou de timeout, a porta está fechada ou bloqueada por um firewall. Observe que talvez seja necessário ativar o telnet nos Recursos do Windows antes de usá-lo.

Como usar o netcat (nc) no Linux e no macOS

O netcat é um utilitário poderoso para depuração de rede. Use o comando nc -zv smtp.example.com 587. A flag z faz o netcat procurar um daemon escutando sem enviar dados, e a flag v ativa a saída detalhada. Uma saída bem-sucedida informa explicitamente que a conexão com a porta funcionou, enquanto uma falha indica timeout ou recusa da conexão.

Como usar o PowerShell no Windows

Para usuários de Windows sem telnet, o PowerShell oferece o cmdlet Test-NetConnection. Execute Test-NetConnection -ComputerName smtp.example.com -Port 587. A saída inclui um valor booleano em TcpTestSucceeded. Se ele for True, a porta 587 está aberta. Esse método é o preferido em ambientes Windows modernos, pois fornece informações de diagnóstico detalhadas sobre o caminho de rede.

Como resolver portas bloqueadas

Se a porta 587 estiver fechada, verifique as configurações do firewall local e as restrições do seu provedor de internet. Muitos provedores de internet residenciais bloqueiam as portas de e-mail de saída para evitar spam. Você pode verificar a sua configuração externa com o SendHQ ou as ferramentas gratuitas dele (https://sendhq.cc/tools) para garantir que o seu servidor de e-mail esteja acessível pela internet pública. Confirme que os security groups do seu provedor de nuvem permitem tráfego de saída na porta TCP 587.

Entenda a porta 587 e o STARTTLS

A porta 587 é a porta padrão para envio de e-mail (submission). Ao contrário da porta 465, que usa TLS implícito, a porta 587 começa com uma conexão em texto claro e migra para uma conexão segura com o comando STARTTLS. Por isso, uma simples verificação TCP confirma que a porta está aberta, mas é preciso um handshake SMTP completo para verificar se a criptografia está funcionando corretamente.

Perguntas que as equipes fazem

Qual é a diferença entre a porta 25 e a 587?

A porta 25 é usada principalmente para relay entre servidores, enquanto a porta 587 é a porta designada para o envio de e-mails do cliente para o servidor.

Por que a minha conexão na porta 587 está dando timeout?

Timeouts geralmente indicam que um firewall está descartando os pacotes. Verifique o firewall do sistema operacional local, o roteador da rede ou as regras do security group na nuvem.

Uma conexão bem-sucedida via telnet significa que o e-mail será enviado?

Não, ela só confirma que a porta TCP está aberta. Você ainda precisa de uma autenticação válida e dos comandos SMTP corretos para enviar um e-mail com sucesso.

A porta 587 é segura?

A porta 587 é segura quando usada com STARTTLS, que criptografa a comunicação depois que a conexão inicial é estabelecida.

Fontes primárias