Teste a conexão SMTP usando uma sessão Telnet manual

Publicados: 2022-04-04

Provedores de servidor, como DigitalOcean, AWS, Vultr e outros, bloqueiam a porta de saída 25 do seu e-mail para impedir a passagem de spam. No entanto, você sempre pode pedir para desbloqueá-lo. Se você quiser descobrir se sua porta 25 foi bloqueada, você pode usar uma sessão de telnet manual para testar a conexão SMTP.

Erros de conexão SMTP podem ser resolvidos de várias maneiras, mas a linha de comando pode detectá-los diretamente. Telnet é normalmente usado para testar falhas de conexão SMTP. Nas etapas a seguir, usaremos o Telnet para testar o servidor de e-mail. Uma parte crítica da configuração de um servidor de e-mail é garantir que o SMTP funcione a partir da linha de comando (Linux).

Telnet é a forma mais usada para verificar o SMTP a partir da linha de comando. É também a maneira mais comum de testar o SMTP Relay.

Índice

O que é SMTP?

O SMTP é um protocolo orientado a conexão baseado em texto no qual um remetente de e-mail se conecta a um receptor de e-mail enviando strings de comando e fornecendo os dados necessários por meio de um canal de fluxo de dados ordenado confiável, geralmente uma conexão TCP (Transmission Control Protocol).

Uma sessão SMTP é composta de comandos de um cliente SMTP (o agente iniciador, remetente ou transmissor) e respostas de um servidor SMTP (o agente de escuta ou receptor) que iniciam a sessão e trocam parâmetros de sessão. Pode haver zero ou mais transações SMTP em uma sessão. Três sequências de comando/resposta compõem uma transação SMTP:

  1. Comando MAIL, também conhecido como caminho de retorno, caminho reverso, endereço de devolução, mfrom ou remetente de envelope, para definir o endereço de retorno.
  2. Para estabelecer um destinatário de mensagem, use o comando RCPT. Este comando pode ser repetido quantas vezes forem necessárias, uma para cada destinatário. O envelope também tem esses endereços.
  3. DATA para indicar o início do texto da mensagem; o conteúdo da mensagem, em oposição ao seu envelope. Consiste em uma linha vazia entre o cabeçalho da mensagem e o corpo da mensagem. O servidor responde duas vezes: primeiro à própria instrução DATA, reconhecendo que está pronta para receber o texto, e novamente após a sequência de fim de dados, aceitando ou rejeitando a mensagem completa.

O que é uma sessão Telnet?

Telnet é um protocolo de rede para acessar remotamente um computador e estabelecer um canal de comunicação bidirecional, colaborativo e baseado em texto entre dois computadores.

Ele cria sessões remotas usando o protocolo de rede TCP/IP (Transmission Control Protocol/Internet Protocol), que é controlado pelo usuário. O protocolo de transferência de hipertexto (HTTP) e o protocolo de transferência de arquivos (FTP) na web simplesmente permitem que os usuários solicitem arquivos específicos de computadores distantes, enquanto o Telnet permite que os usuários façam logon como um usuário comum com os privilégios atribuídos aos aplicativos e dados específicos naquele computador.

Telnet é mais comumente usado por codificadores e qualquer pessoa que precise acessar determinados aplicativos ou dados em um computador remoto.

Como o Telnet funciona?

Telnet é um protocolo cliente-servidor para abrir uma linha de comando em um computador distante, geralmente um servidor. Este utilitário pode ser usado para executar ping em uma porta e determinar se ela está aberta. O Telnet usa um emulador de conexão de terminal virtual, que é uma instância abstrata de uma conexão de computador que usa protocolos padrão para agir como um terminal físico conectado a um sistema. Para usuários que precisam comunicar arquivos de dados, FTP e Telnet podem ser utilizados juntos.

O Telnet permite que os usuários se conectem a uma máquina remotamente, geralmente conhecido como Telnet no sistema. Eles devem fornecer sua combinação de credenciais de usuário para obter acesso ao computador remoto, o que lhes permite executar linhas de comando como se estivessem fisicamente presentes no computador. Os endereços IP dos usuários corresponderão ao computador em que estão conectados em vez daquele usado para fazer login, independentemente de sua localização física.

Quais são os usos do Telnet?

O Telnet pode ser usado para realizar uma série de tarefas em um servidor, incluindo edição de arquivos, execução de programas e verificação de e-mail.

Alguns servidores permitem conexões remotas através de Telnet a dados públicos para jogar jogos simples ou procurar previsões meteorológicas. Muitos desses recursos existem porque são nostálgicos ou porque ainda são compatíveis com sistemas anteriores que exigem determinados dados.

O Telnet também permite que os usuários se conectem a qualquer software que use protocolos não criptografados baseados em texto, como servidores e portas da Web. Os usuários podem abrir um cmd na máquina remota e digitar telnet seguido do nome ou endereço IP da máquina remota, e a sessão de telnet fará ping na porta para ver se ela está aberta ou não. Uma tela em branco indica que a porta está aberta, mas uma mensagem de erro indicando que a porta está conectada indica que ela está fechada.

Segurança em Telnet

Telnet é um protocolo não seguro e não criptografado. Qualquer pessoa pode visualizar o nome de usuário, a senha e outras informações confidenciais digitadas em texto simples durante uma sessão Telnet monitorando a conexão do usuário. Essas informações podem ser usadas para obter acesso ao computador de destino.

Testar conexão SMTP usando Telnet

Vamos primeiro fazer alguns testes para ver se sua porta de saída 25 está aberta ou não, no primeiro caso vamos demonstrar uma porta SMTP 25 bloqueada no segundo caso vamos passar enviando um email usando telnet.

Caso 1: Porta 25 bloqueada

Na linha de comando, execute o seguinte comando (você precisa executar este comando em um servidor que esteja com problemas de email):

 telnet <IP_ADDRESS_OF_REMOTE_MAIL_SERVER> 25

Se você estiver recebendo uma mensagem como "TENTANDO ..." e nada mais significa que sua porta de saída 25 está bloqueada e você não poderá enviar mensagens de e-mail do seu servidor.

Caso 2: Quando a porta 25 é aberta:

Precisamos encontrar um servidor de e-mail para fazer login se você não tiver o endereço IP do servidor de e-mail. Para isso, precisaremos do registro MX do DNS para um determinado domínio. Isso pode ser encontrado com o seguinte comando

 nslookup -type=mx DOMAIN_NAME

O SMTP emprega uma das três portas: 25, 465 ou 587, que são frequentemente usadas pelo Microsoft Outlook. Se a sua retransmissão SMTP usar uma porta diferente de 25, você utilizará a porta fornecida na resposta nslookup do servidor de troca de mensagens. Você pode perguntar ao seu administrador ou entrar no servidor de troca de mensagens e examinar os protocolos para ver qual porta seu SMTP usa.

Para fazer login no servidor SMTP:

 telnet <IP_ADDRESS_OF_MAIL_SERVER> <PORT>

Se estiver conectado, você pode continuar enviando e-mails

O comando EHLO ou HELO é o primeiro comando que precisamos enviar ao servidor de email para nosso testador de email SMTP. Este é um simples bem-vindo que inicia a conversa do cliente telnet com o servidor SMTP.

 EHLO <DOMAIN_NAME>
teste a conexão smtp

Os comandos SMTP que o servidor SMTP aceita são exibidos aqui.

O comando MAIL FROM é o próximo comando que realmente temos que executar. O endereço para o qual as devoluções são enviadas é determinado por isso.

 CORREIO DE: <[email protegido]>

Agora podemos enviar o comando RCPT TO após o comando MAIL FROM ter sido emitido. Este comando instrui o servidor de correio SMTP a enviar a mensagem ao destinatário especificado.

 RCPT PARA: <[email protegido]> 

O comando DATA é o último comando a ser executado antes de iniciar o corpo da mensagem. Este comando informa ao servidor de correio SMTP que o restante da mensagem será transmitido como o corpo da mensagem.

 DADOS 

Digite Assunto: <SUBJECT> e pressione Return.

Digite < Mensagem de teste > e pressione Return.

Quando a mensagem terminar, devemos informar ao servidor SMTP que terminamos com ela e que queremos que o servidor de correio SMTP a aceite. Isso é feito colocando um ponto em uma única linha. Se for necessário um ponto em uma única linha ao escrever uma mensagem, use dois pontos, o primeiro escapando do segundo.

.

A mensagem OK aparecerá, seguida de um código de identificação. Sua mensagem foi entregue.

Retorne à janela Telnet, digite quit para encerrar a conexão do servidor SMTP e, em seguida, quit para encerrar a sessão Telnet.

 SAIR 

Conclusão

Se você concluir o teste, pode ter certeza de que não há nada de errado com seu servidor de e-mail ou com o endereço e as informações que você usou para ter acesso a ele.

Se o servidor SMTP informou que o endereço de e-mail de origem era inválido, é possível que você o tenha digitado incorretamente. Também é possível que algo esteja errado com sua conta de e-mail, e é por isso que você não consegue fazê-la funcionar em seu novo cliente de e-mail.

Esperançosamente, testar seu servidor SMTP via Telnet enquanto estiver longe de seu novo cliente de e-mail ajudará você a diminuir todas as causas possíveis para quaisquer problemas de e-mail que você esteja tendo.