Como Verificar uma Conexão SMTP com uma Sessão Telnet Manual

Pássaro

7 de fev. de 2020

Email

1 min read

Como Verificar uma Conexão SMTP com uma Sessão Telnet Manual

Principais Conclusões

    • Teste manual telnet é uma maneira rápida e simples de diagnosticar problemas de conectividade e configuração do SMTP.

    • Use-o para verificar se um servidor SMTP está acessível, adequadamente configurado e aceitando conexões.

    • O teste pode revelar portas bloqueadas, restrições de relay, erros de DNS ou problemas de compatibilidade com TLS.

    • Os comandos essenciais do SMTP incluem EHLO/HELO, MAIL FROM, RCPT TO, DATA e QUIT.

    • A porta 25 é padrão para relay, enquanto 465 e 587 são usadas para envio seguro.

    • Autenticação codificada em Base64 (AUTH LOGIN) é necessária quando os servidores exigem credenciais de login.

    • Ferramentas como Swaks ou plataformas integradas de teste de e-mail podem automatizar e expandir as etapas de diagnóstico do telnet.

Destaques de Perguntas e Respostas

  • Por que usar telnet em vez de uma ferramenta dedicada para teste de e-mail?

    Telnet oferece a você visibilidade direta no diálogo SMTP bruto. É inestimável para solucionar problemas ao nível do protocolo e confirmar respostas do servidor sem camadas de terceiros.

  • Qual é a maneira mais rápida de saber se minha porta SMTP está bloqueada?

    Execute telnet mail.example.com 25. Se você receber “Conexão recusada”, seu ISP ou host provavelmente está bloqueando a porta.

  • Eu preciso me autenticar ao testar com telnet?

    Somente se o servidor de e-mail exigir autenticação. Use o comando AUTH LOGIN e envie seu nome de usuário e senha codificados em Base64.

  • Posso enviar um e-mail completo através do telnet?

    Sim. Após DATA, adicione seus cabeçalhos e corpo, termine com um único ponto (.) em sua própria linha, e então digite QUIT.

  • O telnet é seguro para testes SMTP?

    Não. O Telnet transmite dados em texto simples. Use-o apenas para testes em ambientes seguros e controlados. Para conexões seguras, teste sobre TLS usando ferramentas que suportam STARTTLS.

No mundo do e-mail, existem muitas facetas para os testes, mas um dos testes mais básicos que você pode fazer é simplesmente conectar via telnet a um servidor SMTP específico. Esta verificação SMTP é útil para determinar se os problemas mais básicos existem ou não.

No mundo do e-mail, existem muitas facetas para o teste, mas um dos testes mais básicos que você pode fazer é simplesmente usar telnet em um determinado servidor SMTP.  Esta verificação SMTP é útil para determinar se os problemas mais básicos existem ou não.

  • O servidor está ativo?

  • Há um firewall bloqueando a comunicação?

  • O servidor de e-mail permite o redirecionamento de um domínio/endereço de e-mail específico?

  • Quais comandos SMTP o servidor de e-mail suporta?

  • O servidor responde com o nome de host correto?

  • A conexão funciona fora de qualquer software de terceiros ou APIs?

Todas essas perguntas e mais podem ser respondidas com um simples teste de telnet.

Antes de começarmos, certifique-se de abrir nosso artigo complementar a este post: Para Onde as Mensagens de Bounce São Enviadas? em uma nova aba para que você possa lê-lo depois de terminar este blog.

Como observação, os comandos usados nos exemplos a seguir (bem como comandos adicionais) estão cobertos na seção 4.1 do RFC 2821.

No mundo do e-mail, existem muitas facetas para o teste, mas um dos testes mais básicos que você pode fazer é simplesmente usar telnet em um determinado servidor SMTP.  Esta verificação SMTP é útil para determinar se os problemas mais básicos existem ou não.

  • O servidor está ativo?

  • Há um firewall bloqueando a comunicação?

  • O servidor de e-mail permite o redirecionamento de um domínio/endereço de e-mail específico?

  • Quais comandos SMTP o servidor de e-mail suporta?

  • O servidor responde com o nome de host correto?

  • A conexão funciona fora de qualquer software de terceiros ou APIs?

Todas essas perguntas e mais podem ser respondidas com um simples teste de telnet.

Antes de começarmos, certifique-se de abrir nosso artigo complementar a este post: Para Onde as Mensagens de Bounce São Enviadas? em uma nova aba para que você possa lê-lo depois de terminar este blog.

Como observação, os comandos usados nos exemplos a seguir (bem como comandos adicionais) estão cobertos na seção 4.1 do RFC 2821.

No mundo do e-mail, existem muitas facetas para o teste, mas um dos testes mais básicos que você pode fazer é simplesmente usar telnet em um determinado servidor SMTP.  Esta verificação SMTP é útil para determinar se os problemas mais básicos existem ou não.

  • O servidor está ativo?

  • Há um firewall bloqueando a comunicação?

  • O servidor de e-mail permite o redirecionamento de um domínio/endereço de e-mail específico?

  • Quais comandos SMTP o servidor de e-mail suporta?

  • O servidor responde com o nome de host correto?

  • A conexão funciona fora de qualquer software de terceiros ou APIs?

Todas essas perguntas e mais podem ser respondidas com um simples teste de telnet.

Antes de começarmos, certifique-se de abrir nosso artigo complementar a este post: Para Onde as Mensagens de Bounce São Enviadas? em uma nova aba para que você possa lê-lo depois de terminar este blog.

Como observação, os comandos usados nos exemplos a seguir (bem como comandos adicionais) estão cobertos na seção 4.1 do RFC 2821.

Como Envio um Email Usando Telnet?

Enviar e-mails através do telnet pode ajudá-lo a identificar problemas de entregabilidade dentro da sua configuração atual.

Antes de enviar um e-mail usando telnet, confirme se o telnet está instalado e habilitado em seu computador. A maioria dos computadores já vem com um cliente telnet pré-instalado. Para aquelas versões do Windows que não possuem, um pode ser instalado abrindo a seção “Programas e Recursos” no painel de controle e selecionando “Ativar ou desativar recursos do Windows”. Com esta janela aberta, selecione “cliente telnet” e clique em OK.

Uma vez que um cliente telnet tenha sido verificado como instalado no servidor, abra a janela do terminal onde você irá digitar seus comandos de prompt. No Windows, use a tecla Windows + R, digite “cmd” e pressione enter. Para usuários de Mac, você encontrará o ícone do terminal abrindo o Finder e procurando por “Utilitários” na página de Aplicativos, ou digitando “terminal” na função de busca do Launchpad.

Em seguida, precisamos encontrar um servidor de e-mail para acessar. Para isso, precisaremos do registro DNS MX de um determinado domínio. Isso pode ser encontrado com o seguinte comando (para estes exemplos, será usado port25.com, mas qualquer domínio pode ser substituído):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Referência Rápida de Portas SMTP

Aqui está uma referência rápida para portas comuns de submissão SMTP e quando usá-las:

Porta

Criptografia

Caso de Uso Típico

Notas

25

Nenhuma / TLS Oportunista

Revezamento servidor a servidor

Frequentemente bloqueado por ISPs para controle de spam

465

SSL/TLS Implícito

Submissão segura legada

Depreciado mas ainda usado por sistemas mais antigos

587

STARTTLS

Submissão moderna autenticada

Recomendado para submissão de e-mails de clientes

Para configuração e otimização avançada de servidores de e-mail, consulte nosso guia sobre dicas de configuração do PowerMTA. Se o seu relay SMTP usa uma porta diferente de 25, como mostrado no exemplo, você usará a porta especificada pela resposta do servidor de intercâmbio de e-mail ao nslookup. Você também pode verificar a porta que seu SMTP depende perguntando ao seu administrador ou fazendo login no servidor de intercâmbio de e-mail e revisando os protocolos.

Em seguida, precisamos do DNS PTR para o IP que vamos usar.  Primeiro, precisamos saber qual endereço IP a internet vê como nosso.  Para descobrir isso, podemos usar um site como:

http://whatismyipaddress.com/

Com o endereço IP, execute o seguinte comando, onde A.B.C.D é o endereço IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com é apenas um exemplo, e seus resultados serão diferentes.

Agora que temos o registro MX para port25.com e o PTR para o IP que vamos usar, é hora de fazer login no servidor SMTP. Para isso, use o seguinte comando:

telnet mail.port25.com 25

Algo semelhante ao seguinte deve agora ser exibido:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Se você receber uma mensagem de erro como “não é possível conectar” neste ponto, ou o número da porta está correto ou o servidor de e-mail está enfrentando problemas.

O primeiro comando que precisamos enviar ao servidor de e-mail para nosso testador de e-mail SMTP é o EHLO  ou HELO.  Esta é uma saudação básica que inicia a comunicação entre o cliente telnet e o servidor SMTP.  Também é enviado o DNS PTR para o endereço IP do qual estamos nos conectando, conforme determinado anteriormente.

EHLO server.example.com

Algo semelhante ao seguinte deve ser retornado:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Isso mostra os comandos SMTP que o servidor SMTP aceita.  Nem todos os servidores SMTP suportam os mesmos conjuntos de comandos. Por exemplo, o yahoo mostra apenas o seguinte:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

E o aol mostra apenas um com:

250 DSN

O próximo comando que precisamos enviar é o comando MAIL FROM.  Isso determina o endereço para o qual os bounces são enviados. Isso não é o mesmo que o cabeçalho de origem, que é o endereço de e-mail mostrado em um cliente de e-mail.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Certifique-se de usar o nome de domínio correspondente ao domínio do seu servidor de e-mail. Por exemplo, se o domínio do seu e-mail é anycompany.com, você deve usar you@anycompany.com em vez de um e-mail externo como you@free-mail-provider.com. Variações nos nomes de domínio podem causar uma mensagem de erro a aparecer.

Agora que o comando MAIL FROM  foi enviado, podemos enviar o comando RCPT TO  . Este comando informa ao servidor de e-mail SMTP para quem a mensagem deve ser enviada. Isso pode ser o mesmo ou diferente do cabeçalho para, que é o endereço de e-mail mostrado no cliente de e-mail.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifique novamente o endereço do seu destinatário antes de enviar o comando RCPT TO — uma mensagem de erro exibida aqui pode indicar um destinatário de e-mail com erro de ortografia ou bloqueado.

O último comando a ser executado antes de iniciar o corpo da mensagem é o comando DATA.  Este comando informa ao servidor de e-mail SMTP que tudo o que será enviado a seguir é o corpo da mensagem (que também contém os cabeçalhos).

DATA 354 enviar mensagem

É importante notar que se um servidor de e-mail suportar PIPELINING, como o mail.port25.com faz, o servidor de e-mail SMTP pode esperar até que o comando DATA seja emitido antes de responder a quaisquer outros comandos após o EHLO/HELO.  Neste caso, insira os comandos MAIL FROM, RCPT TO e DATA  antes de esperar uma resposta.

Agora que o comando DATA  foi enviado, podemos começar a enviar o conteúdo da mensagem.  Isso começa com os vários cabeçalhos. No mínimo, uma mensagem deve conter um para, de, assunto e cabeçalho de data. Os cabeçalhos inseridos aqui serão mostrados ao usuário em seu cliente de e-mail.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Com os cabeçalhos definidos, agora adicionamos uma linha em branco com uma quebra de linha (basta pressionar enter duas vezes) e então começamos o corpo real da mensagem.

Olá Mundo, Esta é uma mensagem de teste enviada de uma sessão telnet manual. Atenciosamente, administrador SMTP

Com a mensagem completa, precisamos informar ao servidor SMTP que terminamos com a mensagem e queremos que o servidor de e-mail SMTP a aceite. Isso é feito com um ponto em uma linha por si só. Se durante a escrita de uma mensagem, um ponto em uma linha por si só for necessário, você deve colocar 2 pontos, o primeiro escapando o segundo.

.   250 2.6.0 mensagem recebida

Se você receber uma mensagem de erro em vez da notificação “recebido”, registre os detalhes relevantes e entre em contato com seu provedor de e-mail para mais assistência. Problemas de conexão também podem estar relacionados a protocolos de segurança - assegure-se de usar TLS 1.2 ou superior para conexões seguras.

Por fim, o comando QUIT  é enviado para fechar a conexão:

QUIT 221 2.0.0 mail.port25.com diz adeus

Com isso, o servidor de e-mail agora aceitou a mensagem para entrega, seu teste de envio de e-mail telnet está concluído, e deve estar na caixa de entrada do endereço RCPT TO!!!

Aqui estão todos os comandos sem interrupção:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Enviar um e-mail usando telnet permite que você teste as capacidades de conexão rapidamente e a um custo menor do que equipamentos ou softwares de diagnóstico robustos. Para ferramentas de teste SMTP mais avançadas, considere usar Swaks com SparkPost para testes de e-mail abrangentes.

Enviar e-mails através do telnet pode ajudá-lo a identificar problemas de entregabilidade dentro da sua configuração atual.

Antes de enviar um e-mail usando telnet, confirme se o telnet está instalado e habilitado em seu computador. A maioria dos computadores já vem com um cliente telnet pré-instalado. Para aquelas versões do Windows que não possuem, um pode ser instalado abrindo a seção “Programas e Recursos” no painel de controle e selecionando “Ativar ou desativar recursos do Windows”. Com esta janela aberta, selecione “cliente telnet” e clique em OK.

Uma vez que um cliente telnet tenha sido verificado como instalado no servidor, abra a janela do terminal onde você irá digitar seus comandos de prompt. No Windows, use a tecla Windows + R, digite “cmd” e pressione enter. Para usuários de Mac, você encontrará o ícone do terminal abrindo o Finder e procurando por “Utilitários” na página de Aplicativos, ou digitando “terminal” na função de busca do Launchpad.

Em seguida, precisamos encontrar um servidor de e-mail para acessar. Para isso, precisaremos do registro DNS MX de um determinado domínio. Isso pode ser encontrado com o seguinte comando (para estes exemplos, será usado port25.com, mas qualquer domínio pode ser substituído):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Referência Rápida de Portas SMTP

Aqui está uma referência rápida para portas comuns de submissão SMTP e quando usá-las:

Porta

Criptografia

Caso de Uso Típico

Notas

25

Nenhuma / TLS Oportunista

Revezamento servidor a servidor

Frequentemente bloqueado por ISPs para controle de spam

465

SSL/TLS Implícito

Submissão segura legada

Depreciado mas ainda usado por sistemas mais antigos

587

STARTTLS

Submissão moderna autenticada

Recomendado para submissão de e-mails de clientes

Para configuração e otimização avançada de servidores de e-mail, consulte nosso guia sobre dicas de configuração do PowerMTA. Se o seu relay SMTP usa uma porta diferente de 25, como mostrado no exemplo, você usará a porta especificada pela resposta do servidor de intercâmbio de e-mail ao nslookup. Você também pode verificar a porta que seu SMTP depende perguntando ao seu administrador ou fazendo login no servidor de intercâmbio de e-mail e revisando os protocolos.

Em seguida, precisamos do DNS PTR para o IP que vamos usar.  Primeiro, precisamos saber qual endereço IP a internet vê como nosso.  Para descobrir isso, podemos usar um site como:

http://whatismyipaddress.com/

Com o endereço IP, execute o seguinte comando, onde A.B.C.D é o endereço IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com é apenas um exemplo, e seus resultados serão diferentes.

Agora que temos o registro MX para port25.com e o PTR para o IP que vamos usar, é hora de fazer login no servidor SMTP. Para isso, use o seguinte comando:

telnet mail.port25.com 25

Algo semelhante ao seguinte deve agora ser exibido:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Se você receber uma mensagem de erro como “não é possível conectar” neste ponto, ou o número da porta está correto ou o servidor de e-mail está enfrentando problemas.

O primeiro comando que precisamos enviar ao servidor de e-mail para nosso testador de e-mail SMTP é o EHLO  ou HELO.  Esta é uma saudação básica que inicia a comunicação entre o cliente telnet e o servidor SMTP.  Também é enviado o DNS PTR para o endereço IP do qual estamos nos conectando, conforme determinado anteriormente.

EHLO server.example.com

Algo semelhante ao seguinte deve ser retornado:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Isso mostra os comandos SMTP que o servidor SMTP aceita.  Nem todos os servidores SMTP suportam os mesmos conjuntos de comandos. Por exemplo, o yahoo mostra apenas o seguinte:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

E o aol mostra apenas um com:

250 DSN

O próximo comando que precisamos enviar é o comando MAIL FROM.  Isso determina o endereço para o qual os bounces são enviados. Isso não é o mesmo que o cabeçalho de origem, que é o endereço de e-mail mostrado em um cliente de e-mail.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Certifique-se de usar o nome de domínio correspondente ao domínio do seu servidor de e-mail. Por exemplo, se o domínio do seu e-mail é anycompany.com, você deve usar you@anycompany.com em vez de um e-mail externo como you@free-mail-provider.com. Variações nos nomes de domínio podem causar uma mensagem de erro a aparecer.

Agora que o comando MAIL FROM  foi enviado, podemos enviar o comando RCPT TO  . Este comando informa ao servidor de e-mail SMTP para quem a mensagem deve ser enviada. Isso pode ser o mesmo ou diferente do cabeçalho para, que é o endereço de e-mail mostrado no cliente de e-mail.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifique novamente o endereço do seu destinatário antes de enviar o comando RCPT TO — uma mensagem de erro exibida aqui pode indicar um destinatário de e-mail com erro de ortografia ou bloqueado.

O último comando a ser executado antes de iniciar o corpo da mensagem é o comando DATA.  Este comando informa ao servidor de e-mail SMTP que tudo o que será enviado a seguir é o corpo da mensagem (que também contém os cabeçalhos).

DATA 354 enviar mensagem

É importante notar que se um servidor de e-mail suportar PIPELINING, como o mail.port25.com faz, o servidor de e-mail SMTP pode esperar até que o comando DATA seja emitido antes de responder a quaisquer outros comandos após o EHLO/HELO.  Neste caso, insira os comandos MAIL FROM, RCPT TO e DATA  antes de esperar uma resposta.

Agora que o comando DATA  foi enviado, podemos começar a enviar o conteúdo da mensagem.  Isso começa com os vários cabeçalhos. No mínimo, uma mensagem deve conter um para, de, assunto e cabeçalho de data. Os cabeçalhos inseridos aqui serão mostrados ao usuário em seu cliente de e-mail.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Com os cabeçalhos definidos, agora adicionamos uma linha em branco com uma quebra de linha (basta pressionar enter duas vezes) e então começamos o corpo real da mensagem.

Olá Mundo, Esta é uma mensagem de teste enviada de uma sessão telnet manual. Atenciosamente, administrador SMTP

Com a mensagem completa, precisamos informar ao servidor SMTP que terminamos com a mensagem e queremos que o servidor de e-mail SMTP a aceite. Isso é feito com um ponto em uma linha por si só. Se durante a escrita de uma mensagem, um ponto em uma linha por si só for necessário, você deve colocar 2 pontos, o primeiro escapando o segundo.

.   250 2.6.0 mensagem recebida

Se você receber uma mensagem de erro em vez da notificação “recebido”, registre os detalhes relevantes e entre em contato com seu provedor de e-mail para mais assistência. Problemas de conexão também podem estar relacionados a protocolos de segurança - assegure-se de usar TLS 1.2 ou superior para conexões seguras.

Por fim, o comando QUIT  é enviado para fechar a conexão:

QUIT 221 2.0.0 mail.port25.com diz adeus

Com isso, o servidor de e-mail agora aceitou a mensagem para entrega, seu teste de envio de e-mail telnet está concluído, e deve estar na caixa de entrada do endereço RCPT TO!!!

Aqui estão todos os comandos sem interrupção:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Enviar um e-mail usando telnet permite que você teste as capacidades de conexão rapidamente e a um custo menor do que equipamentos ou softwares de diagnóstico robustos. Para ferramentas de teste SMTP mais avançadas, considere usar Swaks com SparkPost para testes de e-mail abrangentes.

Enviar e-mails através do telnet pode ajudá-lo a identificar problemas de entregabilidade dentro da sua configuração atual.

Antes de enviar um e-mail usando telnet, confirme se o telnet está instalado e habilitado em seu computador. A maioria dos computadores já vem com um cliente telnet pré-instalado. Para aquelas versões do Windows que não possuem, um pode ser instalado abrindo a seção “Programas e Recursos” no painel de controle e selecionando “Ativar ou desativar recursos do Windows”. Com esta janela aberta, selecione “cliente telnet” e clique em OK.

Uma vez que um cliente telnet tenha sido verificado como instalado no servidor, abra a janela do terminal onde você irá digitar seus comandos de prompt. No Windows, use a tecla Windows + R, digite “cmd” e pressione enter. Para usuários de Mac, você encontrará o ícone do terminal abrindo o Finder e procurando por “Utilitários” na página de Aplicativos, ou digitando “terminal” na função de busca do Launchpad.

Em seguida, precisamos encontrar um servidor de e-mail para acessar. Para isso, precisaremos do registro DNS MX de um determinado domínio. Isso pode ser encontrado com o seguinte comando (para estes exemplos, será usado port25.com, mas qualquer domínio pode ser substituído):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Referência Rápida de Portas SMTP

Aqui está uma referência rápida para portas comuns de submissão SMTP e quando usá-las:

Porta

Criptografia

Caso de Uso Típico

Notas

25

Nenhuma / TLS Oportunista

Revezamento servidor a servidor

Frequentemente bloqueado por ISPs para controle de spam

465

SSL/TLS Implícito

Submissão segura legada

Depreciado mas ainda usado por sistemas mais antigos

587

STARTTLS

Submissão moderna autenticada

Recomendado para submissão de e-mails de clientes

Para configuração e otimização avançada de servidores de e-mail, consulte nosso guia sobre dicas de configuração do PowerMTA. Se o seu relay SMTP usa uma porta diferente de 25, como mostrado no exemplo, você usará a porta especificada pela resposta do servidor de intercâmbio de e-mail ao nslookup. Você também pode verificar a porta que seu SMTP depende perguntando ao seu administrador ou fazendo login no servidor de intercâmbio de e-mail e revisando os protocolos.

Em seguida, precisamos do DNS PTR para o IP que vamos usar.  Primeiro, precisamos saber qual endereço IP a internet vê como nosso.  Para descobrir isso, podemos usar um site como:

http://whatismyipaddress.com/

Com o endereço IP, execute o seguinte comando, onde A.B.C.D é o endereço IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com é apenas um exemplo, e seus resultados serão diferentes.

Agora que temos o registro MX para port25.com e o PTR para o IP que vamos usar, é hora de fazer login no servidor SMTP. Para isso, use o seguinte comando:

telnet mail.port25.com 25

Algo semelhante ao seguinte deve agora ser exibido:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Se você receber uma mensagem de erro como “não é possível conectar” neste ponto, ou o número da porta está correto ou o servidor de e-mail está enfrentando problemas.

O primeiro comando que precisamos enviar ao servidor de e-mail para nosso testador de e-mail SMTP é o EHLO  ou HELO.  Esta é uma saudação básica que inicia a comunicação entre o cliente telnet e o servidor SMTP.  Também é enviado o DNS PTR para o endereço IP do qual estamos nos conectando, conforme determinado anteriormente.

EHLO server.example.com

Algo semelhante ao seguinte deve ser retornado:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Isso mostra os comandos SMTP que o servidor SMTP aceita.  Nem todos os servidores SMTP suportam os mesmos conjuntos de comandos. Por exemplo, o yahoo mostra apenas o seguinte:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

E o aol mostra apenas um com:

250 DSN

O próximo comando que precisamos enviar é o comando MAIL FROM.  Isso determina o endereço para o qual os bounces são enviados. Isso não é o mesmo que o cabeçalho de origem, que é o endereço de e-mail mostrado em um cliente de e-mail.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Certifique-se de usar o nome de domínio correspondente ao domínio do seu servidor de e-mail. Por exemplo, se o domínio do seu e-mail é anycompany.com, você deve usar you@anycompany.com em vez de um e-mail externo como you@free-mail-provider.com. Variações nos nomes de domínio podem causar uma mensagem de erro a aparecer.

Agora que o comando MAIL FROM  foi enviado, podemos enviar o comando RCPT TO  . Este comando informa ao servidor de e-mail SMTP para quem a mensagem deve ser enviada. Isso pode ser o mesmo ou diferente do cabeçalho para, que é o endereço de e-mail mostrado no cliente de e-mail.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifique novamente o endereço do seu destinatário antes de enviar o comando RCPT TO — uma mensagem de erro exibida aqui pode indicar um destinatário de e-mail com erro de ortografia ou bloqueado.

O último comando a ser executado antes de iniciar o corpo da mensagem é o comando DATA.  Este comando informa ao servidor de e-mail SMTP que tudo o que será enviado a seguir é o corpo da mensagem (que também contém os cabeçalhos).

DATA 354 enviar mensagem

É importante notar que se um servidor de e-mail suportar PIPELINING, como o mail.port25.com faz, o servidor de e-mail SMTP pode esperar até que o comando DATA seja emitido antes de responder a quaisquer outros comandos após o EHLO/HELO.  Neste caso, insira os comandos MAIL FROM, RCPT TO e DATA  antes de esperar uma resposta.

Agora que o comando DATA  foi enviado, podemos começar a enviar o conteúdo da mensagem.  Isso começa com os vários cabeçalhos. No mínimo, uma mensagem deve conter um para, de, assunto e cabeçalho de data. Os cabeçalhos inseridos aqui serão mostrados ao usuário em seu cliente de e-mail.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Com os cabeçalhos definidos, agora adicionamos uma linha em branco com uma quebra de linha (basta pressionar enter duas vezes) e então começamos o corpo real da mensagem.

Olá Mundo, Esta é uma mensagem de teste enviada de uma sessão telnet manual. Atenciosamente, administrador SMTP

Com a mensagem completa, precisamos informar ao servidor SMTP que terminamos com a mensagem e queremos que o servidor de e-mail SMTP a aceite. Isso é feito com um ponto em uma linha por si só. Se durante a escrita de uma mensagem, um ponto em uma linha por si só for necessário, você deve colocar 2 pontos, o primeiro escapando o segundo.

.   250 2.6.0 mensagem recebida

Se você receber uma mensagem de erro em vez da notificação “recebido”, registre os detalhes relevantes e entre em contato com seu provedor de e-mail para mais assistência. Problemas de conexão também podem estar relacionados a protocolos de segurança - assegure-se de usar TLS 1.2 ou superior para conexões seguras.

Por fim, o comando QUIT  é enviado para fechar a conexão:

QUIT 221 2.0.0 mail.port25.com diz adeus

Com isso, o servidor de e-mail agora aceitou a mensagem para entrega, seu teste de envio de e-mail telnet está concluído, e deve estar na caixa de entrada do endereço RCPT TO!!!

Aqui estão todos os comandos sem interrupção:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Enviar um e-mail usando telnet permite que você teste as capacidades de conexão rapidamente e a um custo menor do que equipamentos ou softwares de diagnóstico robustos. Para ferramentas de teste SMTP mais avançadas, considere usar Swaks com SparkPost para testes de e-mail abrangentes.

Como faço para testar SMTP usando autenticação Telnet?

Agora que você sabe como verificar uma conexão SMTP com telnet, discutiremos os procedimentos de autenticação. A autenticação SMTP ajuda a prevenir grandes quantidades de spam de atingir as caixas de entrada dos leitores, embora nem todos os servidores de troca de e-mails exijam isso. Compreender a autenticação também é crucial ao analisar cabeçalhos de e-mail para solucionar problemas de entrega.

A principal diferença nos protocolos de autenticação modernos é a presença de uma codificação base64. O Base64 converte dados binários no formato de texto ASCII necessário pelos servidores de e-mail para a transmissão bem-sucedida de dados. É uma maneira de representar suas credenciais de login — alguma combinação de texto — em formato numérico que o computador pode entender.

Você pode gerar seu base64 usando software ou ferramentas online gratuitas. Uma vez que você comunique a informação ao servidor de e-mail, ele compara esses dados com seus registros para determinar a autenticação.

Para testar a autenticação SMTP via telnet, complete os seguintes passos:

  • Abra o terminal e conecte-se ao servidor de e-mail usando o nome do servidor telnet e o comando de acesso — mail.port25.com no exemplo acima.

  • Saúdo o servidor com EHLO ou HELO, digite AUTH LOGIN e aguarde a resposta do computador.

  • Digite o nome de usuário codificado em base64 e permita que o servidor responda.

  • Digite a senha codificada em base64, e você deve receber uma resposta como “autenticação sucedida.”

  • Prossiga com MAIL FROM, RCPT TO, DATA e QUIT para enviar seu e-mail autenticado.

Agora que você sabe como verificar uma conexão SMTP com telnet, discutiremos os procedimentos de autenticação. A autenticação SMTP ajuda a prevenir grandes quantidades de spam de atingir as caixas de entrada dos leitores, embora nem todos os servidores de troca de e-mails exijam isso. Compreender a autenticação também é crucial ao analisar cabeçalhos de e-mail para solucionar problemas de entrega.

A principal diferença nos protocolos de autenticação modernos é a presença de uma codificação base64. O Base64 converte dados binários no formato de texto ASCII necessário pelos servidores de e-mail para a transmissão bem-sucedida de dados. É uma maneira de representar suas credenciais de login — alguma combinação de texto — em formato numérico que o computador pode entender.

Você pode gerar seu base64 usando software ou ferramentas online gratuitas. Uma vez que você comunique a informação ao servidor de e-mail, ele compara esses dados com seus registros para determinar a autenticação.

Para testar a autenticação SMTP via telnet, complete os seguintes passos:

  • Abra o terminal e conecte-se ao servidor de e-mail usando o nome do servidor telnet e o comando de acesso — mail.port25.com no exemplo acima.

  • Saúdo o servidor com EHLO ou HELO, digite AUTH LOGIN e aguarde a resposta do computador.

  • Digite o nome de usuário codificado em base64 e permita que o servidor responda.

  • Digite a senha codificada em base64, e você deve receber uma resposta como “autenticação sucedida.”

  • Prossiga com MAIL FROM, RCPT TO, DATA e QUIT para enviar seu e-mail autenticado.

Agora que você sabe como verificar uma conexão SMTP com telnet, discutiremos os procedimentos de autenticação. A autenticação SMTP ajuda a prevenir grandes quantidades de spam de atingir as caixas de entrada dos leitores, embora nem todos os servidores de troca de e-mails exijam isso. Compreender a autenticação também é crucial ao analisar cabeçalhos de e-mail para solucionar problemas de entrega.

A principal diferença nos protocolos de autenticação modernos é a presença de uma codificação base64. O Base64 converte dados binários no formato de texto ASCII necessário pelos servidores de e-mail para a transmissão bem-sucedida de dados. É uma maneira de representar suas credenciais de login — alguma combinação de texto — em formato numérico que o computador pode entender.

Você pode gerar seu base64 usando software ou ferramentas online gratuitas. Uma vez que você comunique a informação ao servidor de e-mail, ele compara esses dados com seus registros para determinar a autenticação.

Para testar a autenticação SMTP via telnet, complete os seguintes passos:

  • Abra o terminal e conecte-se ao servidor de e-mail usando o nome do servidor telnet e o comando de acesso — mail.port25.com no exemplo acima.

  • Saúdo o servidor com EHLO ou HELO, digite AUTH LOGIN e aguarde a resposta do computador.

  • Digite o nome de usuário codificado em base64 e permita que o servidor responda.

  • Digite a senha codificada em base64, e você deve receber uma resposta como “autenticação sucedida.”

  • Prossiga com MAIL FROM, RCPT TO, DATA e QUIT para enviar seu e-mail autenticado.

Outras notícias

Leia mais desta categoria

A person is standing at a desk while typing on a laptop.

A plataforma completa nativa de IA que escalará com o seu negócio.

© 2025 Pássaro

A person is standing at a desk while typing on a laptop.

A plataforma completa nativa de IA que escalará com o seu negócio.

© 2025 Pássaro