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
Pode utilizar o Telnet para testar a comunicação SMTP (Simple Mail Transfer Protocol) entre servidores de mensagens. O SMTP é o protocolo utilizado para enviar mensagens de e-mail de um servidor de mensagens para outro. A utilização do Telnet pode ser útil se estiver com dificuldades em enviar ou receber mensagens porque pode enviar manualmente comandos SMTP para um servidor de mensagens. Em troca, o servidor responderá com respostas que seriam devolvidas numa ligação típica. Por vezes, estes resultados podem ajudá-lo a perceber por que motivo não consegue 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
Sabia que, em vez de utilizar o Telnet para testar a conectividade SMTP, pode utilizar o Microsoft Remote Connectivity Analyzer em https://testconnectivity.microsoft.com/? Com o Analisador de Conectividade Remota, pode escolher o teste de conectividade que pretende fazer, neste caso O SMTP de Entrada Email e seguir as instruções apresentadas. Irá percorrer as informações que precisa de introduzir, executar o teste por si e, em seguida, fornecer-lhe 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. Estes procedimentos são efetuados no sistema operativo do servidor Exchange ou de um computador cliente.
Este tópico mostra-lhe como utilizar o Cliente Telnet, que está incluído no Windows. Os clientes Telnet de terceiros podem necessitar de sintaxe diferente da apresentada neste tópico.
Os passos neste tópico mostram-lhe como ligar a um servidor com acesso à Internet que permite ligações anónimas através da porta TCP 25. Se estiver a tentar ligar-se a este servidor a partir da Internet, tem de garantir que o servidor Exchange está acessível a partir da Internet na porta TCP 25. Da mesma forma, se estiver a tentar aceder a um servidor na Internet a partir do seu servidor Exchange, tem de garantir que o servidor Exchange consegue abrir uma ligação à Internet na porta TCP 25.
Poderá reparar em alguns conectores de Receção que utilizam a porta TCP 2525. Estes são conectores de Receção internos e não são utilizados para aceitar ligações SMTP anónimas.
Se estiver a testar uma ligação num servidor de mensagens remotas, deve executar os passos neste tópico no seu servidor Exchange. Os servidores de mensagens remotas são muitas vezes configurados para garantir que o endereço IP a partir do qual a ligação SMTP provém corresponde ao domínio no endereço de e-mail 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 nos fóruns do Exchange. Visite os fóruns em: Exchange Server, Exchange Online ou Proteção do Exchange Online.
Etapa 1: instalar o Cliente Telnet no computador
Na maioria das versões do Windows, terá de instalar o cliente Telnet antes de poder utilizá-lo. Para instalá-lo, confira Instalar cliente Telnet.
Etapa 2: localizar o FQDN ou o endereço IP do servidor SMTP de destino
Para ligar a um servidor SMTP com Telnet na porta 25, tem de utilizar o nome de domínio completamente qualificado (FQDN) (por exemplo, mail.contoso.com) ou o endereço IP do servidor SMTP. Se não souber o FQDN ou o endereço IP, pode utilizar a ferramenta de linha de comandos Nslookup para localizar o registo MX para o domínio de destino.
Observação
As políticas de rede podem impedi-lo de utilizar a ferramenta Nslookup para consultar servidores DNS públicos na Internet. Como alternativa, pode utilizar um dos sites de pesquisa de registos MX ou pesquisa de registos DNS disponíveis livremente na Internet.
Numa linha de comandos, escreva
nslookup
e, em seguida, prima Enter. Esse comando abre a sessão Nslookup.Digite
set type=mx
e pressione Enter.Digite o nome do domínio do qual você deseja localizar o registro de MX. Por exemplo, para localizar o registo MX do domínio fabrikam.com, escreva
fabrikam.com.
e, em seguida, prima 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.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 inferior para preferência (preferência = 10 vs. 20) indica um servidor SMTP preferencial. São utilizados vários registos MX e diferentes valores de preferência para balanceamento de carga e tolerância a falhas.
Quando estiver pronto para terminar a sessão do Nslookup, escreva
exit
e, em seguida, prima Enter.
Etapa 3: usar Telnet na Porta 25 para testar a comunicação SMTP
Neste exemplo, vamos utilizar os seguintes valores. Quando executar os comandos no servidor, substitua estes valores pelos valores do servidor SMTP, domínio, etc. da sua organização.
- Servidor SMTP de destino: mail1.fabrikam.com
- Domínio de origem: contoso.com
- Endereço de e-mail do remetente: chris@contoso.com
- Endereço de e-mail 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 são sensíveis a maiúsculas e minúsculas. Os verbos de comando SMTP neste exemplo são em maiúsculas para maior clareza. Não pode utilizar a chave de retrocesso na sessão telnet depois de se ligar ao servidor SMTP de destino. Se cometer um erro ao escrever um comando SMTP, tem de premir Enter e, em seguida, escrever o comando novamente. Os comandos SMTP não reconhecidos ou erros de sintaxe resultam numa mensagem de erro semelhante à seguinte: 500 5.3.3 Unrecognized command
.
Abra uma janela da Linha de Comandos, escreva
telnet
e, em seguida, prima Enter.Esse comando abre a sessão do Telnet.
Digite
set localecho
e 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.Este comando opcional ativa o registo e especifica o ficheiro de registo da sessão telnet. Se especificar apenas um nome de ficheiro, o ficheiro de registo está localizado na pasta atual. Se especificar um caminho e um nome de ficheiro, o caminho tem de estar no computador local e poderá ter de introduzir o caminho e o nome do ficheiro no formato do Windows DOS 8.3 (nome abreviado sem espaços). O caminho tem de existir, mas o ficheiro de registo é criado automaticamente.
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 especifica as mensagens de notificação de status de entrega (DSN) específicas (também conhecidas como mensagens de devolução, relatórios não dinâmicos ou NDRs) que o SMTP tem de fornecer. Neste exemplo, está a pedir uma mensagem DSN para entrega de mensagens com êxito ou falhada.
Digite
DATA
e pressione Enter.Digite
Subject: Test from Contoso
e 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 message
e pressione Enter.Escreva um ponto final (
.
) e, em seguida, prima Enter.Para desligar do servidor SMTP, escreva
QUIT
e, em seguida, prima Enter.Para fechar a sessão telnet, escreva
quit
e, em seguida, prima 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.
O primeiro dígito (X) é particularmente importante de compreender porque indica o êxito ou a falha do comando que foi enviado. Aqui estão os seus valores possíveis e os respetivos 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 aceite, mas o servidor remoto precisa de mais informações antes de a operação poder ser concluída. O servidor de envio tem de enviar um novo comando com as informações necessárias. |
4.y.z | O comando não foi aceite pelo servidor remoto por um motivo que pode ser temporário. O servidor de envio deve tentar ligar-se novamente mais tarde para ver se o servidor remoto consegue aceitar o comando com êxito. O servidor de envio continuará a tentar novamente a ligação até que uma ligação com êxito 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 um erro temporário é o pouco espaço de armazenamento no servidor remoto. Assim que for disponibilizado mais espaço, o servidor remoto deverá conseguir aceitar o comando com êxito. |
5.y.z | O comando não foi aceite pelo servidor remoto por um motivo que não é recuperável. O servidor de envio não repetirá a ligação e enviará um relatório de entrega sem êxito para o utilizador 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 baseia-se nas informações fornecidas pelo RFC 5321 (Simple Mail Transfer Protocol), secção 4.2.1. Informações adicionais, incluindo descrições do segundo (Y) e terceiro (Z) dígitos de códigos de resposta SMTP estão incluídas nesta secção e nas secçõ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 motivos 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 motivos para a falha:
- Caracteres inválidos no nome do domínio.
- Restrições de conexão sobre o servidor SMTP de destino.
Observação
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. Estas capacidades incluem o tamanho máximo de mensagens aceites e os métodos de autenticação suportados. 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 não Exchange ao qual está a tentar ligar não suportar o EHLO, pode utilizar 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 motivos para a falha: o servidor de destino não aceita submissões de mensagens anónimas. Receberá este erro se tentar utilizar o Telnet para submeter uma mensagem diretamente para um servidor de Caixa de Correio que não tenha um conector de Receção configurado para aceitar ligaçõ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.