en el mundo del correo electrónico, hay muchas facetas en las pruebas, pero una de las pruebas más básicas que puede hacer es simplemente telnet en un servidor SMTP Dado. Esta prueba es útil para determinar si los problemas más básicos existen o no.
- Es el servidor?
- ¿existe un firewall que bloquea la comunicación?
- ¿el servidor de correo permite la retransmisión de un dominio/dirección de correo electrónico en particular?,
- ¿qué comandos SMTP admite el servidor de correo?
- ¿responde el servidor con el nombre de host correcto?
- ¿funciona la conexión fuera de cualquier Software o API de terceros?
todas estas preguntas y más se pueden responder con una simple prueba telnet.
antes de comenzar, asegúrese de abrir nuestra pieza complementaria a esta publicación: ¿a dónde se envían los mensajes de rebote? en una nueva pestaña para que puedas leerla después de que hayas terminado con este blog.,
como nota, los comandos utilizados en los siguientes ejemplos (así como comandos adicionales) se tratan en la sección 4.1 de RFC 2821.
La mayoría de las computadoras vienen preinstaladas con un cliente telnet. Para las versiones de Windows que no lo hacen, se puede instalar abriendo la sección «Programas y características» del panel de control y seleccionando «Activar o desactivar las características de Windows». Con esta ventana abierta, seleccione «cliente telnet» y luego haga clic en Aceptar.
una vez que se ha verificado Que un cliente telnet está instalado en el servidor, primero necesitamos encontrar un servidor de correo para iniciar sesión., Para esto, necesitaremos el registro MX DNS para un dominio dado. Este puede ser encontrado con el siguiente comando (para estos ejemplos port25.com será utilizado, pero cualquier dominio puede ser sustituido):
Windows:
nslookup-type=mx port25.com
respuesta No autoritativa:
port25.com MX preferencia = 100, intercambiador de correo = mail.port25.com
Linux:
nslookup-type=mx port25.com
respuesta No autoritativa:
port25.com intercambiador de correo = 100 mail.port25.com.,
a continuación necesitamos el DNS PTR para la IP que vamos a usar. Primero necesitamos saber qué dirección IP nos ve internet. Para encontrar que podemos usar un sitio web como:
con la dirección IP ejecute el siguiente comando, donde A. B. C. D es la dirección IP.
Windows:
nslookup-type = ptr A. B. C. D
respuesta no autorizada:
D.C.B.A.in-addr.arpa nombre = server.example.com
Linux:
nslookup-type = ptr A. B. C. D
respuesta no autorizada:
D. C. B. A.,in-addr.arpa nombre = server.example.com
server.example.com es solo un ejemplo, y sus resultados serán diferentes.
así que ahora que tenemos el registro MX para port25.com y el PTR para la IP que vamos a usar, Es hora de iniciar sesión en el servidor SMTP. Para ello, utilice el siguiente comando:
telnet mail.port25.com 25
ahora debería mostrarse algo similar a lo siguiente:
el primer comando que necesitamos emitir al servidor de correo es el EHLO o HELO., Este es un Saludo Básico que inicia la comunicación entre el cliente telnet y el servidor SMTP. También se pasa el DNS PTR para la dirección IP desde la que nos estamos conectando como se determinó anteriormente.
EHLO server.example.com
se debe devolver algo similar a lo siguiente:
250-mail.port25.com dice hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSN
esto muestra los comandos SMTP que el servidor SMTP acepta., No todos los servidores SMTP soportan los mismos conjuntos de comandos. Por ejemplo, yahoo solo muestra lo siguiente:
250-8BITMIME250-SIZE 41943040250 PIPELINING
y aol solo muestra uno con:
250 DSN
el siguiente comando que necesitamos emitir es el siguiente correo del comando. Esto determina la dirección a la que se envían los rebotes. Esto no es lo mismo que el encabezado from, que es la dirección de correo electrónico que se muestra en un cliente de correo electrónico.
MAIL FROM: <[email protected]>250 2.1.,0 MAIL ok
ahora que el comando MAIL FROM ha sido enviado podemos enviar el comando RCPT TO. Este comando indica al servidor de correo SMTP a quién debe enviarse el mensaje. Esto puede ser el mismo o diferente que el encabezado to, que es la dirección de correo electrónico que se muestra en el cliente de correo electrónico.
RCPT TO: <[email protected]>250 2.1.5 <[email protected]> aceptar
El último comando a ejecutar antes de iniciar el cuerpo del mensaje es el comando de DATOS., Este comando le permite al servidor de correo SMTP saber que todo lo demás a punto de ser enviado es el cuerpo del mensaje (que también contiene las cabeceras).
DATA354 send message
es importante tener en cuenta que si un servidor de correo admite la segmentación, como mail.port25.com el servidor de correo SMTP puede esperar hasta que se emita el comando DATA antes de responder a cualquier otro comando después del EHLO / HELO. En este caso, introduzca los comandos MAIL FROM, RCPT TO y DATA antes de esperar una respuesta.,
ahora que se ha enviado el comando DATA podemos comenzar a enviar el contenido del mensaje. Esto comienza con los varios encabezados. Como mínimo, un mensaje debe contener un encabezado to, from, subject y date. Los encabezados introducidos aquí se mostrarán al usuario en su cliente de correo electrónico.
con los encabezados establecidos, ahora agregamos una línea en blanco con un retorno de carro/avance de línea (solo presione enter dos veces) y luego iniciamos el cuerpo real del mensaje.
Hola Mundo, Este es un mensaje de prueba enviado desde una sesión manual de telnet.,Atentamente, administrador de SMTP
con el mensaje completo, necesitamos decirle al servidor SMTP que hemos terminado con el mensaje y queremos que el servidor de correo SMTP lo acepte. Esto se hace con un punto en una línea por sí mismo. Si durante la escritura de un mensaje se necesita un punto en una línea por sí mismo, debe poner 2 puntos, el primero escapando el segundo.
. 250 2.6.0 mensaje recibido
Por último se envía el comando QUIT para cerrar la conexión:
QUIT221 2.0.0 mail.puerto 25.,com dice adiós
con que el servidor de correo ahora ha aceptado el mensaje para la entrega, y debe estar sentado en la bandeja de entrada de la RCPT a la dirección!!!
Aquí están todos los comandos sin interrupción:
~ Scott