No mundo do E-mail, existem muitas facetas para testar, mas um dos testes mais básicos que você pode fazer é simplesmente telnet em um determinado servidor de SMTP. Este teste é útil para determinar se o mais básico dos problemas existem ou não.
- o servidor está pronto?
- existe uma firewall bloqueando a comunicação?
- o servidor de E-mail permite a retransmissão de um determinado domínio / endereço de E-mail?,
- que comandos de SMTP suportam o servidor de correio?
- o servidor responde com o nome correcto da máquina?
- a conexão funciona fora de qualquer software de terceiros ou APIs?
todas estas perguntas e mais podem ser respondidas com um simples teste telnet.
Antes de começarmos, certifique-se de abrir a nossa peça de companheiro para este post: para onde são enviadas as mensagens saltadas? em uma nova guia para que você possa lê-lo depois que você está feito com este blog.,
Como nota, os comandos usados nos seguintes exemplos (bem como comandos adicionais) são cobertos na secção 4.1 da RFC 2821.a maioria dos computadores vêm pré-instalados com um cliente telnet. Para as versões do Windows que não o fazem, pode-se ser instalado abrindo a seção “Programas e recursos” do painel de controle e selecionando “Turn Windows features on or off”. Com esta janela aberta, seleccione “cliente telnet” e depois carregue em OK.
Uma vez que um cliente de telnet tenha sido verificado para ser instalado no servidor, precisamos primeiro de encontrar um servidor de E-mail para fazer login., Para isso, vamos precisar do registro DNS MX para um determinado domínio. Este pode ser encontrado com o seguinte comando (para estes exemplos port25.com vai ser usado, mas qualquer domínio pode ser substituído):
Windows:
nslookup -type=mx port25.com
resposta Não-autorizada:
port25.com preferência MX = 100, mail exchanger = mail.port25.com
Linux:
nslookup -type=mx port25.com
resposta Não-autorizada:
port25.com mail exchanger = 100 mail.port25.com.,em seguida, precisamos do DNS PTR para o IP que vamos usar. Primeiro, precisamos de saber qual é o endereço IP que a internet nos vê como tendo. Para descobrir que podemos usar um site como:com o endereço IP execute o seguinte comando, onde A. B. C. D é o endereço IP.
Windows:
nslookup -type=ptr A. B. C. Dresposta Não-autorizada:
D. C. B. A. in-addr.arpa nome = server.example.comLinux:
nslookup -type=ptr A. B. C. Dresposta Não-autorizada:
D. C. B. A.,in-addr.arpa nome = server.example.comserver.example.com é apenas um exemplo, e seus resultados serão diferentes.
assim agora que temos o registro MX para port25.com e o PTR para o IP que vamos usar, é hora de entrar no servidor SMTP. Para fazer isso, use o seguinte comando:
telnet mail.port25.com 25em Algo semelhante à seguinte deve agora ser exibida:
O primeiro comando precisamos problema para o servidor de email é a HELO ou EHLO., Esta é uma saudação básica que inicia a comunicação entre o cliente telnet e o servidor SMTP. Também passou o DNS PTR para o endereço IP a partir do qual estamos conectando como determinado anteriormente.
EHLO server.example.comem Algo semelhante para o seguinte deve ser retornado:
250-mail.port25.com diz hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-TAMANHO 54525952250-VERP250 DSNEste mostra os comandos SMTP com o servidor SMTP aceita., Nem todos os servidores SMTP suportam os mesmos conjuntos de comandos. Por exemplo, o yahoo só mostra o seguinte:
250-8BITMIME250-TAMANHO 41943040250 PIPELININGE aol mostra apenas um com:
250 DSNO seguinte comando precisamos problema é o comando MAIL FROM. Isto determina o endereço para o qual os saltos são enviados. Isto não é o mesmo que o cabeçalho de from, que é o endereço de E-mail mostrado em um cliente de E-mail.
MAIL FROM: <[email protected]>250 2.1.,0 e-mail okAgora que o e-MAIL do comando foi enviado, podemos enviar o RCPT para o comando. Este comando diz ao servidor de correio SMTP para quem a mensagem deve ser enviada. Este pode ser o mesmo ou diferente do cabeçalho to, Que é o endereço de E-mail mostrado no cliente de E-mail.
RCPT TO: <[email protected]>250 2.1.5 <[email protected]> okO último comando para executar antes de iniciar o corpo da mensagem é o comando de DADOS., Este comando permite ao servidor de correio SMTP saber que tudo o resto prestes a ser enviado é o corpo da mensagem (que também contém os cabeçalhos).
DATA354 send messageé importante notar que se um servidor de correio suporta PIPELINING, como mail.port25.com does, o servidor de correio SMTP pode esperar até que o comando de dados seja emitido antes de responder a quaisquer outros comandos após o EHLO / HELO. Neste caso, digite o e-mail de, RCPT para, e os comandos de dados antes de esperar por uma resposta.,agora que o comando de dados foi enviado, podemos começar a enviar o conteúdo da mensagem. Isto começa com os vários cabeçalhos. No mínimo, uma mensagem deve conter um a, de, assunto e cabeçalho de data. Os cabeçalhos aqui introduzidos serão mostrados ao Utilizador no seu cliente de E-mail.
com os cabeçalhos definidos, agora adicionamos uma linha em branco com um carriage return / line feed (basta carregar em enter duas vezes) e então iniciamos o corpo real da mensagem.
Hello World,This is a test message sent from a manual telnet session.,Sinceramente, administrador SMTPcom a mensagem completa, precisamos dizer ao servidor de SMTP que terminámos com a mensagem e queremos que o servidor de correio SMTP a aceite. Isto é feito com um período em uma linha por si só. Se durante a escrita de uma mensagem um período em uma linha por si só é necessário, você deve colocar 2 períodos, o primeiro escapando o segundo.
. 250 2. 6. 0 mensagem recebidafinalmente, o comando QUIT é enviado para fechar a ligação:
QUIT221 2.0. 0 mail.port25.,com diz adeuscom que o servidor de E-mail Agora aceitou a mensagem para a entrega, e ele deve estar sentado na caixa de entrada do RCPT para o endereço!!!
Aqui estão todos os comandos sem interrupção:
~ Scott