Para asegurarse de que entiende todos los detalles de lo que vamos a discutir, vamos a definir lo que es SMTP y lo que se puede probar con él.
SMTP (Simple Mail Transfer Protocol) es la metodología detrás del flujo de trabajo del correo electrónico en Internet. Probablemente la gente se ha preguntado cómo llegan los correos electrónicos a su destino. SMTP lo cubre completamente, implementando algo similar al mecanismo de entrega de una carta real en un sobre. El servidor SMTP, o simplemente un ordenador que ejecuta SMTP, representa un portador de correo de Internet. Los mensajes se envían directamente a este servidor, que consecuentemente entrega los correos a sus receptores. Bastante cómodo, ¿no?
Se pueden comprobar varias cosas con sólo entrar por telnet en un determinado servidor SMTP:
- ¿Funciona el servidor?
- ¿Es un cortafuegos que bloquea la comunicación?
- ¿Permite el servidor de correo la retransmisión de un determinado dominio o una dirección de correo electrónico?
- ¿Qué comandos SMTP admite el servidor de correo?
- ¿Cuánto tiempo tarda en responder el servidor?
- ¿El servidor responde con el nombre de host correcto?
¿Cómo probar el servidor SMTP con una sesión manual de telnet?
En primer lugar, hay que verificar la instalación de un cliente telnet en el servidor. Después, hay que buscar un servidor de correo al que conectarse. Necesitaremos el registro DNS MX de un determinado dominio para proceder a ello. Se puede utilizar algo similar al siguiente comando:
Windows:
nslookup -type=mx mailtrap.io
Linux:
nslookup -type=mx mailtrap.ioNon-authoritative answer:Server:192.168.0.1Address:192.168.0.1#53Non-authoritative answer:mailtrap.iomail exchanger = 10 aspmx2.googlemail.com.mailtrap.iomail exchanger = 10 aspmx3.googlemail.com.mailtrap.iomail exchanger = 1 aspmx.l.google.com.mailtrap.iomail exchanger = 5 alt1.aspmx.l.google.com.mailtrap.iomail exchanger = 5 alt2.aspmx.l.google.com.
Para la IP que vamos a utilizar, necesitamos el DNS PTR. Para ello, debemos partir de la dirección IP que Internet ve que tenemos. Sitios como este http://whatismyipaddress.com/ pueden ser una solución perfecta en este caso.
Una vez que hayas averiguado tu dirección IP, ejecuta el siguiente comando, siendo T.T.T la dirección IP.
Windows:
nslookup -type=ptr T.T.T.T
Linux:
nslookup -type=ptr A.B.C.DServer:192.168.0.1Address:192.168.0.1#53Non-authoritative answer:212.235.118.46.in-addr.arpaname = SOL-FTTB.212.235.118.46.sovam.net.ua.
Ahora tenemos dos requisitos básicos: el registro MX para railsware.com y el PTR para la IP que utilizaremos. Llegados a este punto, puedes entrar en el servidor SMTP. Utiliza el siguiente comando para hacerlo:
telnet mail.railsware.com 25
Se mostrará algo similar al siguiente código:
Trying 45.55.56.249...Connected to mail.railsware.com (45.55.56.249).Escape character is '^]'.220 mail.railsware.com (PowerMTA(TM) v4.0) ESMTP service readyThe first command to issue to the mail server is going to be EHLO or HELO, which is a basic greeting that initiates the communication between the SMTP server and the telnet client.EHLO server.example.com
Debería devolverse algo similar a lo siguiente:
250-mail.railsware.com says hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-SIZE 54525952250-VERP250 DSN
El comando MAIL FROM va a ser el siguiente a emitir. Este comando define la dirección a la que se entregan los rebotes. La cabecera «From» no es lo mismo (la dirección de correo electrónico que aparece en un cliente de correo electrónico).
MAIL FROM: <[email protected]>250 2.1.0 MAIL ok
Podemos enviar el comando RCPT TO ahora que hemos enviado el comando MAIL FROM. El comando RCPT TO determina a quién debe enviarse el mensaje. Es similar y diferente a la cabecera «TO».
RCPT TO: <[email protected]>250 2.1.5 <[email protected]> okBefore starting the body of the message, you should run the DATA command. This command "explains” that all the other content, aside from previous, is the body of the message, including the headers.DATA354 send message
Algunos de los servidores de correo, incluyendo mail.rsilsware.com, soportan PIPELINING. Esto significa que el servidor de correo SMTP esperará hasta que se emita el comando DATA antes de responder a cualquier otro comando después del comando EHLO. Introduzca los comandos MAIL FROM, RCPT TO y DATA antes de esperar una respuesta en este caso.
Pruebe Mailtrap gratis
Servicios online para probar servidores SMTP
Para empezar, necesita definir la dirección de un servidor SMTP. Puede utilizar el comando ns lookup para hacerlo o utilizar alguno de los servicios online como https://mxtoolbox.com/SuperTool.aspx?action=mx#.
El servicio de comprobación de SMTP incluirá varias etapas como las siguientes: comprobación del estado de la lista negra de DNS de su servidor, verificación de los registros MX, configuraciones de retransmisión, registro PTR, verificación de la dirección de correo electrónico. Tenemos algunos servicios en línea que pueden ayudarle a examinar el servidor SMTP:
MX Toolbox
https://mxtoolbox.com/diagnostic.aspx
MX Toolbox es un servicio gratuito que realizará pruebas sencillas de:
- Desajuste de DNS inverso de SMTP
- Nombre de host válido de SMTP
- Comprobación de banner de SMTP
- TLS de SMTP
- Tiempo de conexión de SMTP
- Tiempo de transacción de SMTP
Sin embargo, no se permite definir el puerto, introducir la contraseña, etc. El número de pruebas también es limitado.
Wormly
https://www.wormly.com/test_smtp_server
Wormly te da una prueba gratuita para comprobar tus servidores SMTP, pero no permite definir el puerto ni la contraseña, tampoco está disponible una conexión segura.
SMTPer
http://smtper.nanogenesis.fr/
SMTPer es efectivamente la solución más conveniente que permite definir el puerto, proporciona a los usuarios una conexión segura y autorización. También se pueden rellenar formularios tanto del remitente como del destinatario.
test-smtp.com
http://www.test-smtp.com/
Test SMTP simplemente envía peticiones a los servidores SMTP para realizar pruebas de Relaying. Este servicio no tiene un conjunto de herramientas suficiente para un examen adecuado de SMTP.
testsmtp.tcsoftware.net
http://testsmtp.tcsoftware.net/
Comprobar SMTP funciona para ciertas partes de un proceso pero no es suficiente para un examen adecuado. No proporciona una conexión segura.
Check SMTP ejecutará las siguientes pruebas:
- Comprobar el estado de la lista negra de DNS de su servidor
- Verificar los registros MX
- Configuración de la retransmisión
- Registro PTR (búsqueda inversa)
- Verificar la dirección de correo electrónico
Recursos adicionales
¿Necesita ayuda para configurar el envío de correo electrónico en su infraestructura? Encuentra tu guía aquí:
- Enviar correos electrónicos con PHP
- Enviar correos electrónicos con PHPMailer
- Enviar correos electrónicos con Laravel
- Enviar correos electrónicos con Symfony
- Enviar correos electrónicos con NodeJS
- Enviar correos electrónicos con Nodemailer
- Enviar emails con Java
- Enviar emails con Python
- Enviar emails con Django
- Enviar emails con Go
- Enviar emails con Ruby
- Enviar emails con ASP .Net C#
- Envío de Emails desde Angular App
- Envío de Emails desde React App
- Envío de Emails desde React Native App
Si te ha gustado este artículo, por favor, compártelo y difúndelo. Te lo agradeceremos mucho.