Como Enviar Emails com Telnet 

On fevereiro 13, 2025
11min read
Ketevan Bostoganashvili Technical Content Writer @Mailtrap
This is a cover image for an article that explains How to Send Emails with Telnet

Telnet, ou Teletype Network Protocol, é um protocolo de aplicação cliente/servidor. Ele permite que usuários se conectem diretamente aos servidores de email através da linha de comando de seus computadores.

O principal objetivo do Telnet é estabelecer uma conexão padronizada entre dispositivos e processos orientados a terminal (RFC 854).

Ele também pode ser usado para enviar emails e, nesse processo, testar a conexão do Simple Mail Transfer Protocol (SMTP). No entanto, existem limitações específicas que impedem seu uso real para envio de emails em produção, e discutiremos isso em detalhe.

Vejamos a seguir como enviar emails usando o Telnet nos sistemas operacionais Windows e Linux.

Pronto para enviar seus emails?
Experimente o Mailtrap gratuitamente

Enviar emails via Telnet no Windows

Pré-requisitos

  • Acesso de administrador ou equivalente
  • Servidor SMTP configurado
  • Telnet habilitado no computador ou máquina do host
  • Conhecimento básico do PowerShell e de comandos do prompt de comando

Instalando o cliente Telnet

A maioria das versões do sistema operacional Windows não tem o Telnet habilitado por padrão. Então, para começar, primeiro precisamos instalar o cliente Telnet. O processo de instalação será um pouco diferente dependendo da versão do Windows que você está usando. Geralmente, temos três opções principais:

  • Instalação usando a linha de comando;
  • Instalação usando o PowerShell;
  • Instalação pelo Painel de Controle.

Instalação usando a linha de comando 

Pressione a tecla Windows ou clique no botão Iniciar. Localize a caixa de Pesquisar, digite cmd e pressione Enter. Clique com o botão direito em Prompt de Comando e selecione Executar como administrador. Dessa forma, você terá os direitos necessários para completar a instalação. O próximo passo é digitar um comando específico na linha de comando.

Para Windows 7, Windows Server 2008 R2, Windows Server 2008, ou Windows Vista, digite o seguinte comando e pressione Enter:

pkgmgr /iu:"TelnetClient" 

Para Windows 8 e versões superiores, digite este comando e pressione Enter:

dism /online /Enable-Feature /FeatureName:TelnetClient

Aguarde a conclusão da instalação. Nas versões mais recentes do Windows, você deve receber uma mensagem de confirmação.

Instalação usando PowerShell

Outra opção é usar o PowerShell para instalar o cliente Telnet. No entanto, ela só é aplicável ao Windows 8.1, Windows 10, Windows Server 2012 R2 ou posterior.

Abra a janela de administrador do PowerShell, digite o seguinte comando e pressione Enter.

Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient

Aguarde até que a instalação seja concluída.

Instalação usando o Painel de Controle

Por fim, você pode instalar o cliente Telnet pelo Painel de Controle. Para isso, localize Programas (ou Programas e Recursos) e abra-o. Localize Ativar ou desativar recursos do Windows e clique nele. Você verá uma caixa de Recursos do Windows. Encontre Cliente Telnet e marque a caixa de seleção. Em seguida, pressione OK. Aguarde a conclusão da instalação e reinicie o computador para aplicar as alterações.

Para outras opções de instalação, consulte a documentação da Microsoft.

Enviar os emails

O processo de envio de email segue a lógica e ordem da transmissão SMTP: handshake, transmissão e encerramento da sessão. Ele usa comandos SMTP e se conecta ao servidor através de uma porta TCP. Confira este post do blog para encontrar mais informações sobre a operação SMTP.

Nota: Telnet não é uma forma segura de enviar email. Ele estabelece uma conexão não criptografada, pois não suporta SSL ou TLS. Isso significa que qualquer pessoa com acesso à sua rede pode interceptar a transmissão e acessar o conteúdo da sua mensagem.

Você também não pode se conectar a servidores SMTP com autenticação, já que a maioria deles exige criptografia TLS ou SSL antes de permitir métodos de autenticação LOGIN e PLAIN (autenticação sem TLS é permitida apenas em servidores SMTP de teste). Você deve usar OpenSSL em vez de Telnet para se conectar a servidores SMTP com criptografia. Falaremos sobre OpenSSL mais adiante.

Devido a tudo isso, vamos na verdade demonstrar o “envio de emails” para o sandbox do Mailtrap, que é um SMTP falso usado para fins de teste.

Para iniciar uma sessão SMTP, você precisará do nome de domínio completo ou do endereço IP do servidor SMTP ao qual está tentando se conectar. Como mencionado, usaremos o Email Testing do Mailtrap e digitaremos: sandbox.smtp.mailtrap.io.

Você também precisará identificar a porta, que pode ser 25, 587 ou 2525. O número da porta depende das configurações do servidor SMTP ao qual você está tentando se conectar. A maioria dos servidores SMTP bloqueia transmissões através da porta 25. As portas 587 e 2525 devem ser usadas com criptografia TLS.

Digite o comando:

telnet sandbox.smtp.mailtrap.io 2525

Nota: O Email Testing do Mailtrap não aceitará conexões Telnet através da porta 25. Você precisará usar a porta 2525.

Você verá a resposta começando com o código 220 se a conexão for bem-sucedida. Por exemplo,

220 sandbox.smtp.mailtrap.io ESMTP server ready

O próximo passo é se identificar para o host SMTP.

EHLO example.com or HELO example.com 

Nota: O comando HELO iniciará uma conexão SMTP sem extensões de serviço. Portanto, os comandos ESMTP correspondentes (como STARTTLS, por exemplo) não serão suportados.

Todas as extensões SMTP suportadas serão listadas na resposta. Cada linha começará com 250, indicando uma conexão bem-sucedida.

250-sandbox.smtp.mailtrap.io
250-PIPELINING
250-SIZE 10485760
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Em seguida, você pode transferir os campos de email necessários de acordo com a especificação SMTP. Primeiro, digite MAIL FROM, depois RCPT TO, e então digite DATA.

MAIL FROM: <remetente@exemplo.com>
250 2.1.0 Sender OK
RCPT TO: <destinatario@exemplo.com> 
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: remetente@exemplo.com
To: destinatario@exemplo.com
Subject: Email de teste via Telnet

Esta é minha primeira mensagem de teste enviada usando o cliente Telnet no Windows
.
250 2.0.0 Ok: queued as ABC123456789

Para encerrar a sessão, você deve digitar o comando QUIT. O servidor responderá com 221 2.0.0 Service closing transmission channel, e a conexão será encerrada.

Um exemplo completo se parecerá com isso: 

telnet sandbox.smtp.mailtrap.io 2525
220 sandbox.smtp.mailtrap.io ESMTP server ready
EHLO exemplo.com
250-sandbox.smtp.mailtrap.io Hello
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 XRDST
MAIL FROM: <remetente@exemplo.com>
250 2.1.0 Sender OK
RCPT TO: <destinatario@exemplo.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: remetente@exemplo.com
To: destinatario@exemplo.com
Subject: mail de teste via Telnet

Esta é minha primeira mensagem de teste enviada usando o cliente Telnet no Windows
.
250 2.0.0 Ok: queued as ABC123456789
QUIT
221 2.0.0 Service closing transmission channel

Para aprender como enviar emails de teste com Telnet no Windows, assista nosso tutorial dedicado:

Enviar emails usando Telnet no Linux

Enviar emails usando Telnet em um console Linux é bastante similar ao Windows. A diferença está apenas no processo de instalação. 

Pré-requisitos 

  • Qualquer versão da distribuição Linux
  • Acesso de administrador via usuário root ou comando sudo
  • Telnet
  • Servidor de email funcional

Instalando o cliente Telnet 

Se o cliente Telnet não estiver instalado em sua máquina, você pode instalá-lo pelo seu gerenciador de pacotes. Os comandos específicos serão diferentes dependendo da distribuição Linux que você está usando. 

Para Arch Linux e Manjaro, digite o seguinte comando na janela do terminal e pressione Enter:

$ sudo pacman -S inetutils 

Para Ubuntu, Kali Linux, Debian e Linux Mint:

$ sudo apt install telnet 

Para Red Hat, Fedora e Centos:

$ sudo dnf install telnet 

Você será solicitado a inserir sua senha de administrador. Digite-a e pressione Enter novamente. Aguarde a conclusão da instalação.

Enviando os emails

Para começar a enviar emails (novamente, iremos enviar para o sandbox do Email Testing do Mailtrap), inicie a sessão Telnet digitando este comando:

$ telnet sandbox.smtp.mailtrap.io 25

Em seguida, prossiga da mesma forma que descrevemos acima. Não se esqueça de seguir a ordem exata dos comandos SMTP, caso contrário, a transmissão não será bem-sucedida. Se você digitar incorretamente algum dos comandos, não poderá fazer correções com a tecla “apagar” (backspace). É recomendado pressionar Enter, aguardar a mensagem de erro e enviar o comando correto em seguida.

Para aprender como enviar emails de teste com Telnet no Linux, assista nosso tutorial dedicado:

Enviar mensagens de email com corpo HTML e anexos para múltiplos destinatários 

Também é possível enviar emails HTML com Telnet. Para isso, você precisará definir o Content-Type como text/html ou multipart/alternative. Esta parte deve ser inserida em seu email após o comando DATA.

DATA

Mime-Version: 1.0      
Content-Type: multipart/alternative; boundary="peaches"; 

--peaches
Content-Type: text/plain

Esta é uma mensagem em texto simples enviada usando Telnet

--peaches
Content-Type: text/html

<h1>Esta é uma mensagem HTML enviada usando Telnet</h1>

--peaches--
.
250 2.0.0 Ok: queued as ABC123456789
QUIT
221 2.0.0 Service closing transmission channel

Agora, vamos enviar um email com anexo. Para completar essa tarefa, precisaremos formatar a mensagem com MIME. O Content-Type deve ser definido como multipart/mixed para informar ao servidor de email que o email conterá múltiplas partes, incluindo um anexo. O cabeçalho Content-Disposition incluirá o próprio anexo.

DATA

From: remetente@exemplo.com
To: destinatario@exemplo.com
Subject: Email via Telnet com anexos

MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=boundary_9876

--boundary_9876
Content-Type: text/plain

Este é o corpo da mensagem de email.

--boundary_9876
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="meugatolindo.jpg"

Este é o conteúdo do anexo.

--boundary_9876--
.
QUIT

Finalmente, vamos enviar emails para múltiplos destinatários. Esta é a parte mais fácil de todas. Só precisamos enviar o comando RCPT TO várias vezes e incluir os endereços dos destinatários no campo to após o comando DATA. Por exemplo:

MAIL FROM: <remetente@exemplo.com>
250 2.1.0 Sender OK
RCPT TO: <destinatario1@exemplo.com>
250 2.1.5 Recipient OK
RCPT TO: <destinatario2@exemplo.com>
250 2.1.5 Recipient OK
RCPT TO: <destinatario3@exemplo.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: remetente@exemplo.com
To: destinatario1@exemplo.com, destinatario2@exemplo.com, destinatario3@exemplo.com
Subject: Email via Telnet para múltiplos destinatários 

É possível enviar emails com Telnet usando servidores SMTP gratuitos? 

Sim e não.

Você não conseguirá enviar emails com o console Telnet para servidores SMTP gratuitos usando a porta 25. Como mencionado acima, ela está bloqueada pela maioria dos provedores de email. Então, se você tentar enviar um email para Gmail, Yahoo ou Microsoft Outlook, precisará usar a porta 587.

Mesmo assim, a conexão só pode ser usada para testar uma porta específica ou uma parte da conexão. O Telnet não suporta criptografia SSL ou TLS, então é provável que você não consiga enviar emails com sucesso. Nós não conseguimos enviar emails conectando aos servidores SMTP do Gmail, Outlook e Yahoo.

Para testar a conexão em diferentes portas, você pode simplesmente usar os comandos telnet smtp.gmail.com 587 ou telnet smtp-mail.outlook.com 587. Se a resposta for 220, isso indica que não há problemas com as portas fornecidas.

Solucionando erros comuns do Telnet 

Quando algo dá errado em sua sessão SMTP, você receberá mensagens de erro. Ao interpretá-las, você poderá entender qual é o problema com a conexão ou com o servidor SMTP.

Aqui está uma lista dos erros mais comuns e como corrigi-los:

  • 550 Invalid recipient – geralmente ocorre quando o endereço de email do destinatário está incorreto ou não existe. A solução é verificar se há erros de digitação ou usar outro endereço para contatá-los; 
  • 535 Authentication failed – você verá este erro se o servidor SMTP não conseguir autenticar o cliente Telnet. As causas comuns incluem nomes de usuário ou senhas incorretos e métodos de autenticação inválidos. Certifique-se de estar usando as credenciais corretas. Além disso, verifique a lista dos comandos suportados ao escolher entre os métodos de autenticação LOGIN e PLAIN.
  • Connection closed or timed out – você verá esses erros quando o cliente Telnet falhar ao estabelecer uma conexão com o servidor SMTP. Normalmente, isso ocorre devido a um problema de rede, um número de porta incorreto ou um firewall bloqueando a conexão. As soluções incluem tentar portas diferentes, verificar sua conectividade de rede, verificar a configuração SMTP e desabilitar o firewall em seu host.
  • 502 Unrecognized command – ocorre quando um comando incorreto é usado. Para resolver o problema, verifique novamente os comandos que você está usando. Pressione Enter para digitar um novo comando. Lembre-se, “Backspace” e “Delete” não funcionarão uma vez que a conexão estiver estabelecida.
  • 421 Service not available – este erro geralmente acontece quando o servidor SMTP está indisponível ou incapaz de processar a solicitação. Isso pode ocorrer devido a uma interrupção na rede ou quando o servidor está passando por manutenção. Para solucionar, você pode esperar e tentar novamente, verificar sua conexão de rede ou verificar a configuração SMTP.

Existe uma alternativa para enviar emails usando Telnet? 

Como mencionamos acima, o Telnet é uma forma não segura de enviar emails. Mesmo que seu servidor SMTP escolhido permita usar SMTP AUTH sem SSL/TLS (muito provavelmente, nenhum dos servidores SMTP em produção permitirá isso), suas credenciais ainda ficarão visíveis para qualquer pessoa conectada à mesma rede.

Além disso, suas credenciais serão criptografadas apenas com Base64, que é bastante simples de decifrar. Isso o deixará vulnerável a ataques. Se suas credenciais forem comprometidas, será fácil para os atacantes enviarem emails falsos ou lerem o conteúdo de suas mensagens.

Ainda, para usar o comando SMTP AUTH no Windows, você precisa de autenticação básica. Infelizmente, a Microsoft descontinuou a autenticação básica para novos locatários, o que significa que você não poderá realizar a autenticação SMTP em versões mais recentes do Windows. Isso forçará você a completar a sessão sem SMTP AUTH.

É por isso que o Telnet é geralmente usado para enviar emails de teste, depurar conexões SMTP ou verificar se o servidor SMTP ou Exchange Server está acessível através da porta 25. Você nunca deve usar Telnet para enviar emails em produção. E mesmo que você queira apenas testar servidores de email, existem melhores alternativas no mercado, como OpenSSL e Mailtrap.

OpenSSL – alternativa ao Telnet para envio de emails criptografado 

OpenSSL é uma ferramenta open-source de linha de comando que suporta criptografia SSL/TLS. Para instruções de instalação no Windows, Linux e outros sistemas operacionais, consulte a documentação oficial. No Windows, você também pode baixar o instalador. No Linux, você pode usar repositórios base e instalar o OpenSSL usando os seguintes comandos:

  • Ubuntu, Debian, Kali Linux, Linux Mint: sudo apt-get install openssl
  • Red Hat, Fedora, Centos: sudo dnf install openssl
  • Arch Linux, Manjaro: sudo pacman -Sy openssl

Uma vez que a instalação esteja concluída, use a linha abaixo para conectar ao servidor SMTP:

openssl.exe s_client -starttls smtp -connect sandbox.smtp.mailtrap.io:25 

Em seguida, você pode cumprimentar o servidor e se identificar com EHLO como fizemos com o Telnet. Continue com o comando STARTTLS e se autentique usando os comandos AUTH LOGIN ou AUTH PLAIN.

O OpenSSL pode ser usado tanto em ambientes de teste quanto de produção. No entanto, o OpenSSL não é recomendado para enviar grandes volumes de emails.

Mailtrap – alternativa ao Telnet para testar e enviar grandes volumes de emails

O Mailtrap é uma plataforma para testar, enviar e controlar o desempenho de sua infraestrutura. Ela possui duas soluções: Email Testing e Email API/SMTP.

O Email Testing do Mailtrap é um Email Sandbox que permite que você inspecione seus emails com segurança em ambiente de teste sem enviar spam para os destinatários.

Com o Email Testing, você pode testar um relay SMTP ou servidor SMTP enviando um email para uma caixa de entrada virtual. Você só precisará inserir o Endereço de Email da Inbox (Inbox Email Address) como seu destinatário e facilmente solucionar problemas de envio.

Endereço de email da inbox do Email Testing

Além disso, o Email Testing fornece as credenciais do servidor SMTP falso, permitindo que você o integre facilmente com seu aplicativo. Para maior flexibilidade e testes automatizados, você pode usar SDKs ou snippets de código pré-feitos.

Uma vez que o Email Testing esteja integrado, você poderá verificar o HTML/CSS, pré-visualizar seus emails, verificar as informações técnicas para validar cabeçalhos e inspecionar a pontuação de spam. Tudo isso está disponível sem os problemas de segurança que o Telnet possui.

Quando todos os testes estiverem concluídos, você pode enviar grandes volumes de emails em produção com o Email API/SMTP do Mailtrap – uma infraestrutura desenvolvida para providenciar altas taxas de entregabilidade. Ela pode ser integrada ao seu aplicativo usando serviço SMTP ou API RESTful, permitindo uma configuração fácil e sem obstáculos.

Após enviar os emails, você pode monitorar seu desempenho com o recurso Actionable Analytics do Email API/SMTP. Você pode rastrear métricas essenciais de email ou solucionar quaisquer problemas de envio inesperados, caso ocorram.

Estatísticas do Email API/SMTP do Mailtrap

Conclusão

E é isso! Agora você sabe como enviar emails usando Telnet no Windows e Linux. Você pode enviar mensagens simples de email ou adicionar um corpo HTML e até anexos.

Lembre-se, você deve evitar enviar emails usando Telnet em produção para prevenir problemas de segurança e vulnerabilidades. Usar outras ferramentas como a Plataforma de Email Delivery do Mailtrap é muito mais sensato. Se você gosta dos nossos tutoriais, confira nossos guias sobre envio de emails com PowerShell ou envio de emails com SMTP.

Article by Ketevan Bostoganashvili Technical Content Writer @Mailtrap

I’m a Technical Content Writer with more than 5 years of experience and passion to cover software engineering topics. I mostly write about email infrastructure and create code-rich guides about sending and testing emails, but I also love writing about result-driven email marketing.