Como usar a telnet para testar a comunicação SMTP
Aplica-se a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
Tópico modificado em: 2006-11-14
Este tópico explica como usar a Telnet para testar a comunicação SMTP entre servidores do sistema de mensagens. Por padrão, o SMTP atende na porta 25. Se você usar Telnet na porta 25, poderá inserir os comandos SMTP que são usados para conectar a um servidor SMTP e enviar uma mensagem exatamente como se sua sessão Telnet fosse um servidor do sistema de mensagens SMTP. Você pode ver o sucesso ou a falha de cada etapa da conexão e do processo de envio de mensagens.
A lista a seguir descreve os cenários nos quais talvez você queira usar Telnet para testar a comunicação SMTP de ou para servidores de transporte existentes em sua organização do Microsoft Exchange Server:
Conectar ao servidor de Transporte de Borda da organização a partir de um host localizado fora da rede de perímetro e enviar uma mensagem de teste.
Conectar a um servidor do sistema de mensagens remoto a partir do servidor de Transporte de Borda da organização e enviar uma mensagem de teste.
Antes de começar
Por padrão, as transferências de mensagens que ocorrem entre os servidores de Transporte de Hub são criptografadas e autenticadas. Só é possível usar Telnet na porta 25 para enviar mensagens para um servidor interno de Transporte de Hub que tenha um conector de recebimento configurado para permitir acesso anônimo ou autenticação básica para receber mensagens. O acesso anônimo é necessário para servidores voltados para a Internet. Ao enviar uma mensagem para um conector de recebimento que aceita autenticação básica, você deve ter um utilitário para converter as configurações de texto que são usadas para o nome de usuário e a senha no formato Base64. Como o nome de usuário e a senha são facilmente distinguíveis quando a autenticação básica é usada, não recomendamos autenticação básica sem criptografia.
Os servidores do sistema de mensagens SMTP voltados para a Internet de várias organizações são configurados para validar o endereço IP de origem, o nome de domínio do DNS (sistema de nomes de domínio) e o endereço IP de consulta reversa de qualquer host da Internet que tentar enviar uma mensagem ao servidor. Se você conectar um computador de teste à Internet e tentar enviar uma mensagem de teste para um servidor do sistema de mensagens remoto usando Telnet na porta 25, sua mensagem poderá ser rejeitada. Para atender aos requisitos de segurança que podem ser impostos pelo servidor do sistema de mensagens remoto, você poderá conectar o servidor do sistema de mensagens remoto de seu servidor de Transporte de Borda. Os domínios aceitos configurados no servidor de Transporte de Borda têm os registros de troca de mensagens (MX) do DNS, os registros de endereços (A) e os registros de consulta reversa que identificam o servidor de Transporte de Borda como uma origem de mensagens de email legítima e rastreável para aqueles domínios aceitos na Internet.
Os procedimentos deste tópico mostram como usar o cliente Microsoft Telnet que está incluído no Microsoft Windows Server 2003 e no Windows XP. Versões anteriores de clientes Telnet do Windows ou de terceiros podem exigir sintaxe diferente. Os comandos no cliente Telnet do Windows não fazem distinção de maiúsculas e minúsculas. Os verbos do comando SMTP estão em maiúsculas por questões de clareza.
Não é possível usar a tecla backspace depois de conectar ao servidor SMTP de destino dentro da sessão Telnet. Se você cometer um erro ao digitar um comando SMTP, deverá pressionar ENTER e digitar o comando novamente. Comandos SMTP não reconhecidos ou erros de sintaxe resultam em uma mensagem de erro semelhante à seguinte:
500 5.3.3 Unrecognized command
Usando a ferramenta de linha de comando Nslookup para localizar o endereço IP de um servidor SMTP
Para conectar a um servidor SMTP de destino usando Telnet na porta 25, você deverá ter o nome de domínio totalmente qualificado (FQDN) ou o endereço IP do servidor SMTP. A maneira mais fácil de encontrar essas informações é usar a ferramenta de linha de comando Nslookup para localizar o registro de MX do domínio de destino.
Para usar a ferramenta Nslookup para localizar o endereço IP de um servidor SMTP
No prompt de comandos, digite nslookup e pressione ENTER. Esse comando abre a sessão Nslookup.
Digite set type=mx e pressione ENTER.
Digite set timeout=20 e pressione ENTER. Por padrão, os servidores de DNS do Windows têm um limite de tempo excedido de consulta do DNS recursivo de 15 segundos.
Digite o nome do domínio do qual você deseja localizar o registro de MX. Por exemplo, para localizar o registro de MX do domínio fabrikam.com, digite fabrikam.com. e pressione ENTER.
Dica
O ponto à direita ( . ) indica um FQDN. O uso do ponto à direita impede que quaisquer sufixos de DNS padrão que estejam configurados para a sua rede sejam adicionados involuntariamente ao nome do domínio.
A saída do comando se assemelhará à seguinte:
fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com mail1.fabrikam.com internet address = 192.168.1.10 mail2 fabrikam.com internet address = 192.168.1.20
Você pode usar qualquer um dos nomes de host ou endereços IP que estejam associados aos registros de MX como o servidor SMTP de destino. Um valor menor de preferência indica um servidor SMTP preferencial. Você pode usar vários registros de MX e valores diferentes de preferência para balanceamento de carga e tolerância a falhas.
Quando estiver pronto para encerrar a sessão Nslookup, digite exit e pressione ENTER.
Dica
O firewall ou as restrições de proxy da Internet que são impostas à rede interna da organização podem impedir o uso da ferramenta Nslookup para consultar servidores públicos de DNS na Internet.
Os registros de MX não são estritamente necessários para o fluxo interno de mensagens dentro de uma organização do Exchange. Se você tiver que localizar o FQDN de qualquer servidor de Transporte de Hub ou servidor de Transporte de Borda inscrito em sua organização, poderá usar o seguinte comando no Shell de Gerenciamento do Exchange: Get-ExchangeServer | where {$.isHubTransportServer -eq $true -or $.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole
Para obter mais informações, consulte Get-ExchangeServer e Pipelining.
Usando Telnet na porta 25 para testar a comunicação SMTP
O procedimento desta seção mostra como usar Telnet na porta 25 para testar a comunicação SMTP. O procedimento usa os valores que estão descritos na seguinte lista:
Servidor SMTP de destino mail1.fabrikam.com
Domínio de origem contoso.com
Endereço de email do remetente chris@contoso.com
Endereço de email do destinatário kate@fabrikam.com
Assunto da mensagem Teste de Contoso
Corpo da mensagem Esta é uma mensagem de teste
Dica
Você deve usar sempre um endereço de email de remetente válido para que as mensagens de notificação de falha na entrega geradas pelo servidor SMTP de destino sejam entregues ao remetente da mensagem.
Para usar Telnet na porta 25 para testar a comunicação SMTP
Em um prompt de comandos, digite telnet e pressione ENTER. Esse comando abre a sessão Telnet.
Digite set localecho e pressione ENTER. Esse comando opcional permite visualizar os caracteres à medida que são digitados. Essa configuração pode ser necessária para alguns servidores SMTP.
Digite set logfile <filename>. Esse comando opcional permite fazer logon na sessão Telnet do arquivo de log especificado. Se você especificar apenas um nome de arquivo, o local do arquivo de log será o diretório de trabalho atual. Se você especificar um caminho e um nome de arquivo, o caminho deverá ser o local para o computador. O caminho e o nome do arquivo especificados devem ser digitados no formato Microsoft DOS 8.3. O caminho especificado já deverá existir. Se você especificar um arquivo de log inexistente, ele será criado para você.
Digite open mail1.fabrikam.com 25 e pressione ENTER.
Digite EHLO contoso.com e pressione ENTER.
Digite MAIL FROM:chris@contoso.com e pressione ENTER.
Digite RCPT TO:kate@fabrikam.com NOTIFY=success,failure e pressione ENTER. O comando opcional NOTIFY define as mensagens particulares de notificação de status de entrega que o servidor SMTP de destino deve fornecer ao remetente. As mensagens de notificação de status de entrega são definidas no RFC 1891. Nesse caso, você está solicitando uma mensagem de notificação de status de entrega sobre o êxito ou a falha da entrega da mensagem.
Digite DATA e pressione ENTER. Você receberá uma resposta semelhante à seguinte:
354 Start mail input; end with <CLRF>.<CLRF>
Digite Assunto: Teste de Contoso e pressione ENTER.
Pressione ENTER. O RFC 2822 exige uma linha em branco entre o campo de cabeçalho
Subject:
e o corpo da mensagem.Digite Esta é uma mensagem de teste e pressione ENTER.
Pressione ENTER, digite um ponto ( . ) e pressione ENTER. Você receberá uma resposta semelhante à seguinte:
250 2.6.0 <GUID> Queued mail for delivery
Para desconectar do servidor SMTP de destino, digite QUIT e pressione ENTER. Você receberá uma resposta semelhante à seguinte:
221 2.0.0 Service closing transmission channel
Para fechar a sessão Telnet, digite quit e pressione ENTER.
Interpretando os resultados de uma sessão Telnet com um servidor SMTP
Esta seção fornece detalhes sobre as respostas que podem ser fornecidas para os comandos inseridos no exemplo anterior.
Dica
Os códigos de resposta SMTP de 3 dígitos que são definidos no RFC 2821 são iguais para todos os servidores do sistema de mensagens SMTP. As descrições de texto podem ser ligeiramente diferentes em alguns dos servidores do sistema de mensagens SMTP. Neste exemplo, o computador de destino está executando o Exchange Server 2007.
Open mail1.fabrikam.com 25
Resposta bem-sucedida 220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at <day-date-time>
Falha na resposta Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed
Possíveis motivos de falha
O serviço SMTP de destino não está disponível.
Há restrições no firewall de destino.
Há restrições no firewall de origem.
Um FQDN incorreto ou o endereço IP do servidor SMTP de destino foi especificado.
Um número de porta incorreto foi especificado.
EHLO contoso.com
Resposta bem-sucedida 250 mail1.fabrikam.com Hello [<sourceIPaddress>]
Falha na resposta 501 5.5.4 Invalid domain name
Possíveis motivos de falha Há caracteres inválidos no nome de domínio. Ou então, há restrições de conexão no servidor SMTP de destino.
Dica
EHLO é o verbo ESMTP definido no RFC 2821. Os servidores ESMTP podem anunciar seus recursos durante a conexão inicial. Esses recursos incluem o tamanho máximo da mensagem aceita e os métodos de autenticação suportados. HELO é o verbo SMTP mais antigo que é definido no RFC 821. A maioria dos servidores do sistema de mensagens SMTP suporta ESMTP e EHLO.
MAIL FROM:chris@contoso.com
Resposta bem-sucedida 250 2.1.0 Sender OK
Falha na resposta 550 5.1.7 Invalid address
Possíveis motivos de falha Há um erro de sintaxe no endereço de email do remetente.
Falha na resposta 530 5.7.1 Client was not authenticated
Possíveis motivos de falha O servidor de destino não aceita envios de mensagens anônimas. Você receberá esse erro se tentar usar Telnet para enviar uma mensagem diretamente para um servidor de Transporte de Hub.
RCPT TO:kate@fabrikam.com NOTIFY=success,failure
Resposta bem-sucedida 250 2.1.5 Recipient OK
Falha na resposta 550 5.1.1 User unknown
Possíveis motivos de falha O destinatário especificado não existe na organização.
Para obter mais informações
Para obter mais informações, consulte os tópicos a seguir: