Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
2016
2019
Subscription Edition
Você pode usar o Telnet para testar a comunicação SMTP (Simple Mail Transfer Protocol) entre servidores de mensagens. SMTP é o protocolo usado para enviar mensagens de email de um servidor de mensagens para outro. O uso do Telnet pode ser útil se você estiver tendo problemas para enviar ou receber mensagens porque pode enviar manualmente comandos SMTP para um servidor de mensagens. Em troca, o servidor responderá com respostas que seriam retornadas em uma conexão típica. Às vezes, esses resultados podem ajudá-lo a descobrir por que não é possível enviar ou receber mensagens.
Você pode usar o Telnet para testar a comunicação SMTP com:
Testar o fluxo de email da Internet para a sua organização do Exchange.
Testar o fluxo de email do seu Exchange para outro servidor de mensagens na Internet.
Dica
Você sabia que, em vez de usar o Telnet para testar a conectividade SMTP, você pode usar o Analisador de Conectividade Remota da Microsoft em https://testconnectivity.microsoft.com/? Com o Analisador de Conectividade Remota, você pode escolher o teste de conectividade que deseja fazer, neste caso o Email SMTP de entrada, e seguir as instruções mostradas. Ele o guiará pelas informações que você precisa inserir, executará o teste para você e fornecerá os resultados. Experimente!
O que você precisa saber antes de começar?
Tempo estimado para conclusão: 15 minutos
Permissões do Exchange não se aplicam aos procedimentos neste tópico. Esses procedimentos são executados no sistema operacional do servidor Exchange ou em um computador cliente.
Este tópico mostra como usar o Cliente Telnet, que está incluído no Windows. Clientes Telnet de terceiros podem exigir uma sintaxe diferente da mostrada neste tópico.
As etapas neste tópico mostram como se conectar a um servidor voltado para a Internet que permite conexões anônimas usando a porta TCP 25. Se você estiver tentando se conectar a este servidor pela Internet, verifique se o servidor Exchange está acessível pela Internet na porta TCP 25. Da mesma forma, se você estiver tentando acessar um servidor na Internet a partir do servidor Exchange, precisará garantir que o servidor Exchange possa abrir uma conexão com a Internet na porta TCP 25.
Você pode notar alguns conectores de recebimento que usam a porta TCP 2525. Eles são conectores de recebimento internos e não são usados para aceitar conexões SMTP anônimas.
Se você estiver testando uma conexão em um servidor de mensagens remotas, execute as etapas deste tópico em seu servidor Exchange. Os servidores de mensagens remotas geralmente são configurados para garantir que o endereço IP de onde a conexão SMTP está vindo corresponda ao domínio no endereço de email do remetente.
Para informações sobre atalhos de teclado que possam se aplicar aos procedimentos neste tópico, confira Atalhos de teclado no Centro de Administração do Exchange.
Dica
Está com problemas? Peça ajuda no fórum do Exchange Server no Exchange | Exchange Server | e Vulnerabilidade.
Etapa 1: instalar o Cliente Telnet no computador
Na maioria das versões do Windows, você precisará instalar o cliente Telnet antes de poder usá-lo. Para instalá-lo, confira Instalar cliente Telnet.
Etapa 2: localizar o FQDN ou o endereço IP do servidor SMTP de destino
Para se conectar a um servidor SMTP usando Telnet na porta 25, você precisa usar o FQDN (nome de domínio totalmente qualificado) (por exemplo, mail.contoso.com) ou o endereço IP do servidor SMTP. Se você não souber o FQDN ou o endereço IP, poderá usar a ferramenta de linha de comando Nslookup para localizar o registro MX do domínio de destino.
Observação
As políticas de rede podem impedir que você use a ferramenta Nslookup para consultar servidores DNS públicos na Internet. Como alternativa, você pode usar um dos sites de pesquisa de DNS ou de registro MX disponíveis gratuitamente na Internet.
Em um prompt de comando, digite
nslookupe pressione Enter. Esse comando abre a sessão Nslookup.Digite
set type=mxe pressione Enter.Digite o nome do domínio do qual você deseja localizar o registro de MX. Por exemplo, para localizar o registro MX do domínio fabrikam.com, digite
fabrikam.com.e pressione Enter.Observação
Ao usar um ponto final ( . ), você evita que qualquer sufixo padrão de DNS seja adicionado acidentalmente ao nome de domínio.
A saída do comando será parecida com o 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.20Você 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 (preferência = 10 versus 20) indica um servidor SMTP preferencial. Vários registros MX e diferentes valores de preferência são usados para balanceamento de carga e tolerância a falhas.
Quando estiver pronto para encerrar a sessão Nslookup, digite
exite pressione Enter.
Etapa 3: usar Telnet na Porta 25 para testar a comunicação SMTP
Neste exemplo, vamos usar os seguintes valores. Ao executar os comandos em seu servidor, substitua esses valores por outros do servidor SMTP da sua organização, domínio, etc.
- 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 da Contoso
- Corpo da mensagem: Esta é uma mensagem de teste
Dica
Os comandos no Cliente Telnet não diferenciam maiúsculas de minúsculas. Os verbos de comando SMTP neste exemplo são capitalizados para maior clareza. Não é possível usar a tecla backspace na sessão Telnet depois de conectar-se ao servidor SMTP de destino. Se você cometer um erro ao digitar um comando SMTP, precisará pressionar Enter e digitar o comando novamente. Comandos SMTP não reconhecidos ou erros de sintaxe resultam em uma mensagem de erro semelhante a esta: 500 5.3.3 Unrecognized command.
Abra uma janela do Prompt de Comando, digite
telnete pressione Enter.Esse comando abre a sessão do Telnet.
Digite
set localechoe pressione Enter.Esse comando opcional permite visualizar os caracteres à medida que são digitados, e pode ser necessário para alguns servidores SMTP.
Digite
set logfile <filename>e pressione Enter.Esse comando opcional habilita o registro em log e especifica o arquivo de log para a sessão Telnet. Se você especificar apenas um nome de arquivo, o arquivo de log estará localizado na pasta atual. Se você especificar um caminho e um nome de arquivo, o caminho precisará estar no computador local, e talvez seja necessário inserir o caminho e o nome do arquivo no formato do Windows DOS 8.3 (nome curto sem espaços). O caminho precisa existir, mas o arquivo de log é criado automaticamente.
Digite
OPEN mail1.fabrikam.com 25e pressione Enter.Digite
EHLO contoso.come pressione Enter.Digite
MAIL FROM:<chris@contoso.com>e pressione Enter.Digite
RCPT TO:<kate@fabrikam.com> NOTIFY=success,failuree pressione Enter.O comando NOTIFY opcional especifica as mensagens de notificação de status de entrega (DSN) específicas (também conhecidas como mensagens de devolução, relatórios de falha na entrega ou NDRs) que o SMTP precisa fornecer. Neste exemplo, você está solicitando uma mensagem DSN para entrega de mensagens com êxito ou falha.
Digite
DATAe pressione Enter.Digite
Subject: Test from Contosoe pressione Enter.Pressione Enter novamente.
É necessária uma linha em branco entre o campo Assunto: e o corpo da mensagem.
Digite
This is a test messagee pressione Enter.Digite um ponto (
.) e pressione Enter.Para desconectar do servidor SMTP, digite
QUITe pressione Enter.Para fechar a sessão Telnet, digite
quite pressione Enter.
Uma sessão bem-sucedida usando as etapas acima é semelhante a isto:
C:\Windows\System32> telnet
Microsoft Telnet> set localecho
Microsoft Telnet> set logfile c:\TelnetTest.txt
Microsoft Telnet> OPEN mail1.fabrikam.com 25
220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at Fri, 5 Aug 2016 16:24:41 -0700
EHLO contoso.com
250-mail1.fabrikam.com Hello [172.16.0.5]
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: <chris@contoso.com>
250 2.1.0 Sender OK
RCPT TO: <kate@fabrikam.com> NOTIFY=success,failure
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
Subject: test
This is a test message.
.
250 2.6.0 <c89b4fcc-3ad1-4758-a1ab-1e820065d622@mail1.fabrikam.com> [InternalId=5111011082268, Hostname=mail1.fabrikam.com] Queued mail for delivery
QUIT
221 2.0.0 Service closing transmission channel
Etapa 4: mensagens de êxito e de erro na Sessão do Telnet
Esta seção fornece informações sobre as respostas de êxito e de falha para os comandos utilizados no exemplo anterior.
Observação
Os códigos de resposta SMTP de três dígitos que são definidos no RFC 5321 são iguais para todos os servidores SMTP de mensagens, mas as descrições nas respostas podem ser um pouco diferentes.
Códigos de resposta SMTP
Os servidores SMTP respondem aos comandos com uma variedade de códigos numéricos resposta no formato x.y.z, em que:
- X indica se o comando foi bom, ruim ou incompleto.
- Y indica o tipo de resposta que foi enviada.
- Z fornece informações adicionais sobre o comando.
Quando uma resposta é recebida pelo servidor que abriu a conexão, ele pode informar se o servidor remoto aceita o comando e está pronto para o próximo ou se ocorreu um erro.
É particularmente importante entender o primeiro dígito (X), pois ele indica o sucesso ou a falha do comando que foi enviado. Aqui estão seus possíveis valores e seus significados.
| Código de resposta | Significado |
|---|---|
| 2.y.z | O comando que foi enviado foi concluído com êxito no servidor remoto. O servidor remoto está pronto para o próximo comando. |
| 3.y.z | O comando foi aceito, mas o servidor remoto precisa de mais informações antes que a operação possa ser concluída. O servidor de envio precisa enviar um novo comando com as informações necessárias. |
| 4.y.z | O comando não foi aceito pelo servidor remoto por um motivo que pode ser temporário. O servidor de envio deve tentar se conectar novamente mais tarde para ver se o servidor remoto pode aceitar o comando com êxito. O servidor remetente continuará a tentar novamente a conexão até que uma conexão bem-sucedida seja concluída (indicada por um código 2.y.z) ou falhe permanentemente (indicado por um código 5.y.z). Um exemplo de erro temporário é o pouco espaço de armazenamento no servidor remoto. Depois que mais espaço for disponibilizado, o servidor remoto poderá aceitar o comando com êxito. |
| 5.y.z | O comando não foi aceito pelo servidor remoto por um motivo que não é recuperável. O servidor remetente não repetirá a conexão e enviará um relatório de falha na entrega ao usuário que enviou a mensagem. Um exemplo de um erro irrecuperável é uma mensagem enviada a um endereço de email que não existe. |
A tabela acima é baseada nas informações fornecidas pelo RFC 5321 (Simple Mail Transfer Protocol), seção 4.2.1. Informações adicionais, incluindo descrições do segundo (Y) e terceiro (Z) dígitos dos códigos de resposta SMTP estão incluídas nesta seção e nas seções 4.2.2 e 4.2.3.
Comando OPEN
Resposta com êxito: 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 razões para a falha:
- O serviço SMTP de destino não está disponível.
- Restrições no firewall de destino.
- Restrições no firewall de origem.
- FQDN ou endereço IP incorreto do servidor SMTP de destino.
- Número de porta incorreta.
Comando EHLO
Resposta com êxito: 250 mail1.fabrikam.com Hello [<sourceIPaddress>]
Falha na resposta: 501 5.5.4 Invalid domain name
Possíveis razões para a falha:
- Caracteres inválidos no nome do domínio.
- Restrições de conexão sobre o servidor SMTP de destino.
Observação
EHLO é o verbo ESMTP (Extended Simple Message Transfer Protocol) definido no RFC 5321. Servidores ESMTP podem anunciar seus recursos durante a conexão inicial. Esses recursos incluem o tamanho máximo da mensagem aceito e os métodos de autenticação com suporte. HELO é o mais antigo verbo SMTP que está definido no RFC 821. A maioria dos servidores de mensagens SMTP suportam ESMTP e EHLO. Se o servidor que não é do Exchange ao qual você está tentando se conectar não for compatível com EHLO, você poderá usar o HELO.
Comando MAIL FROM
Resposta com êxito: 250 2.1.0 Sender OK
Falha na resposta: 550 5.1.7 Invalid address
Possíveis motivos de falha: um erro de sintaxe no endereço de email do remetente.
Falha na resposta: 530 5.7.1 Client was not authenticated
Possíveis razões para a falha: o servidor de destino não aceita envios de mensagens anônimas. Você receberá esse erro se tentar usar o Telnet para enviar uma mensagem diretamente para um servidor de Caixa de Correio que não tenha um conector de recebimento configurado para aceitar conexões anônimas.
Comando RCPT TO
Resposta com êxito: 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.