Como Verificar uma Conexão SMTP com uma Sessão Telnet Manual
Pássaro
7 de fev. de 2020
1 min read

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 LOGINe 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 digiteQUIT.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:
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:
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:
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.



