Es probable que estés leyendo esta entrada del blog después de haber buscado en Google «cómo probar el relé SMTP». ¿Recuerdas los resultados de tu búsqueda? En su mayoría tratan sobre servidores de correo electrónico, conexión SMTP y el uso de Telnet para probarlos. Hemos sistematizado todos los aspectos que podrías estar buscando y te ofrecemos una respuesta detallada a tu consulta. Empecemos por lo básico.
La retransmisión SMTP es el proceso de enrutar los correos electrónicos al servidor SMTP de destino adecuado. No es un software ni una aplicación, a diferencia de los agentes de transferencia de correo que participan en el flujo de entrega del correo electrónico. La retransmisión se produce entre el MSA y el MDA si el remitente y el destinatario proceden de dominios diferentes (gestionados por servidores SMTP distintos). Si el correo electrónico se transfiere dentro del mismo dominio sin que intervenga ningún servidor adicional, no cuenta como retransmisión de correo electrónico.
Algunos de vosotros probablemente estéis familiarizados con el término gracias a nuestra publicación en el blog sobre la retransmisión SMTP. Para aquellos que no tuvieron la oportunidad de consultarlo, les daremos una breve explicación utilizando la siguiente infografía:
NB: Si necesitas frotar el conocimiento de la diferencia entre IMAP vs. POP3 vs SMTP, echa un vistazo a nuestra entrada de blog dedicada.
En la práctica, el término retransmisión SMTP suele referirse al servidor de retransmisión SMTP, también conocido como agente de transferencia de correo (MTA). Un MTA es un servidor SMTP que permite la retransmisión. Por lo general, son configurados por servicios de retransmisión SMTP como Sendinblue o Mailgun para el envío de correo masivo y transaccional. Por lo tanto, cuando necesite probar la retransmisión SMTP, debe probar el servidor SMTP real que retransmite los correos electrónicos. En este caso, el relé SMTP y el servidor SMTP pueden ser considerados como sinónimos, y por lo tanto Google los trata como términos interrelacionados.
¿Qué es la prueba de relé abierto?
Además de comprobar la conexión SMTP, también necesita verificar si su servidor es un relé abierto. ¿Qué implica esto? El servidor SMTP debe tener un mecanismo de autenticación que permita retransmitir los correos electrónicos a un servidor diferente. Por regla general, si el servidor solicita credenciales (nombre de usuario y contraseña) para realizar la retransmisión, NO es un servidor de retransmisión abierta. La retransmisión abierta hace que su servidor sea accesible a usuarios no autorizados. Los spammers podrán enviar correos electrónicos no solicitados desde él. Esta actividad maliciosa hará caer la reputación de su dirección IP, que es crucial para una buena entrega de correo electrónico. Su servidor de retransmisión abierta puede estar en la lista negra, y muchos servidores SMTP no aceptarán correos electrónicos desde él.
Entonces, ¿cómo puedo hacer la prueba de retransmisión abierta? Puede conectarse por telnet al servidor y enviar un correo electrónico a otro dominio utilizando los comandos MAIL FROM y RCPT TO. Si el código de respuesta final es 250 y no se solicitó autenticación, su servidor es un relé abierto.
Se pueden hacer pruebas alternativas más sencillas con las siguientes herramientas online:
- CheckOR.com
- Prueba de retransmisión anónima
- Prueba de retransmisión abierta de Spam Help
- y muchas más
- sin encriptación – tienes que construir cadenas de autenticación manualmente usando una herramienta MIME
- conexión frecuente del servidor
- sin macros con comandos SMTP incorporados
- limitaciones relacionadas con la conexión SSL y TLS
- Paso 1: Conectar con el servidor
- Paso 2: Probar la retransmisión
- Host SMTP
- Puerto
- Dirección de correo electrónico del remitente
- Dirección de correo electrónico del destinatario
- enviar emails de prueba sin llegar a bandejas de entrada reales
- detectar si tus emails son spam
- probar el HTML para que lo soporten los clientes de email básicos
- organizar los emails de prueba en bandejas de entrada especiales
- ejecutar pruebas de integración o de carga de emails a través de la API
- probar la CCO en tus emails
¿Puedo probar la retransmisión SMTP sólo con telnet?
Telnet es la forma más habitual de comprobar si el servidor de correo permite la retransmisión de un determinado dominio. Ya hemos hablado de su uso en Cómo probar el servidor SMTP. En la mayoría de los casos, telnet a su servidor SMTP será suficiente para diagnosticar los problemas básicos de conexión. Sin embargo, Telnet tiene sus inconvenientes específicos:
Con eso en mente, decidimos dejar de lado Telnet e introducir otras formas de solucionar problemas de retransmisión SMTP.
Prueba la conexión del servidor de retransmisión SMTP con herramientas instalables
smtp-cli
Este es un cliente de línea de comandos SMTP. smtp-cli soporta STARTTLS, SMTP-AUTH, y muchas otras características avanzadas. Además, puede utilizar esta poderosa herramienta para probar y depurar servidores SMTP. Es una buena alternativa a telnet porque smtp-cli le permite comprobar la configuración de encriptación del servidor habilitado para TLS con una autenticación de usuario posterior. Hacer esto con telnet sería poco práctico.
Instalación
Puedes descargar la última versión de smtp-cli desde la página de versiones de GitHub. Alternativamente, puedes usar una utilidad de descarga como widget e instalarlo con un comando apropiado:
$ wget -o smtp-cli https://github.com/mludvig/smtp-cli/releases/{LATEST_RELEASE}$ chmod +x smtp-cli
Dado que algunas características de smtp-cli son opcionales, comprueba los módulos Perl necesarios e instálalos. Las dependencias se especifican en la página de GitHub de la herramienta. Por ejemplo, los usuarios de Ubuntu deben instalar los siguientes paquetes:
$ sudo apt install libio-socket-ssl-perl libdigest-hmac-perl libterm-readkey-perl libmime-lite-perl libfile-libmagic-perl libio-socket-inet6-perl
Prueba de retransmisión de SMTP
Veamos cómo funciona smtp-cli. Primero, probaremos el localhost. Nos conectaremos al servidor y observaremos el ida y vuelta SMTP básico.
$ ./smtp-cli --verbose --server localhost 'localhost ESMTP Postfix'> EHLO localhost 'localhost' 'PIPELINING' 'SIZE 20480000' 'ETRN' '8BITMIME'> QUIT 'Bye'
Ahora, probaremos el relé. Intentaremos enviar un correo electrónico a través del servidor que requiere autenticación. Así se verá la sesión SMTP:
$ ./smtp-cli --verbose --host smtp.example.com:587 --enable-auth --user test--from [email protected] --to [email protected] --data message.txt 'smtp.example.com ESMTP Postfix'> EHLO localhost 'smtp.example.com' 'PIPELINING' 'SIZE 10240000' 'VRFY' 'ETRN' 'AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5' 'AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5' 'XVERP' '8BITMIME'AUTH method (PLAIN LOGIN DIGEST-MD5 CRAM-MD5): using CRAM-MD5> AUTH CRAM-MD5 'PDE0OTQyOTcxOC4yNjAwOTYwQHNlcnZlci5kb21haW4udG9wPg=='> dGVzdCBmOTUyY2RkM2VlODBiMzk1YjYxNDI4NjBlYzg2Y2ExZnJvb3Q= 'Authentication successful'Authentication of test@localhost succeeded> MAIL FROM: <[email protected]> 'Ok'> RCPT TO: <[email protected]> 'Ok'> DATA 'End data with <CR><LF>.<CR><LF>' 'Ok: queued as'> QUIT 'Bye'
Herramienta de diagnóstico de la conexión del servidor SMTP
Aquí hay otra alternativa de telnet que permite hacer la comprobación del relé SMTP fácilmente. Se trata de una herramienta de diagnóstico de la conexión del servidor SMTP construida por SocketLabs. Tiene una autenticación incorporada, soporta conexiones abiertas y SSL, y es más seguro que telnet. Además, no tiene que escribir manualmente todos los comandos necesarios para probar la retransmisión. La herramienta cuenta con una biblioteca de macros, que facilita el flujo de pruebas.
Instalación
En este caso, no es necesario instalar la herramienta. Sólo hay que descargarla y ejecutarla. Este es el aspecto:
Prueba de retransmisión SMTP
Seleccione Acciones en la esquina izquierda de la herramienta y haga clic en Conectar. Introduzca la información de su servidor SMTP: nombre del servidor y puerto. Mantenga la opción LocalIp por defecto. Haga clic en Conectar.
Utilice las macros de comando incorporadas para enviar un correo electrónico desde su servidor SMTP. En realidad, el flujo es el mismo que con telnet. La diferencia es que no tienes que hacerlo todo manualmente.
swaks
Este es el probador de transacciones SMTP para todo uso, abreviado de Swiss Army Knife SMTP. swaks es una herramienta de línea de comandos escrita en Perl para probar configuraciones SMTP. Es una herramienta realmente dinosaurio – la primera versión salió en 2003. Sin embargo, ha sido actualizada muchas veces y ahora maneja numerosas características y extensiones de SMTP como TLS, autenticación, pipelining, y muchas más. Si iterar telnet smtp.example.com 25
lleva demasiado tiempo, swaks es definitivamente lo que necesitas.
Instalación
Ejecuta lo siguiente para instalar swaks en Ubuntu:
apt-get install swaks
En macOS
brew install swaks
Prueba de retransmisión SMTP
Digamos que tienes un servidor SMTP smtp.example.com
que permite la retransmisión para usuarios autentificados. Puedes probarlo de la siguiente manera:
swaks --to [email protected] \ [email protected] \ --auth \ --auth-user=john \ --auth-password=hell-no \ --server smtp.example.com
Así es como se verá la conversación:
smtp.example.com Hi remote.server.name PIPELINING AUTH PLAIN CRAM-MD5> AUTH CRAM-MD5 PGQ4ZcakejQ5ZDcheeseiQHNreC54ZW4taG9zpiesZy5uZXQ+> c3RldsubliminalZmZDMxZmVkNmJjswimM2M4M2VkM2IsmileMDg= Authentication successful for john - Authenticated john; relaying permitted> MAIL FROM:<[email protected]> <[email protected]>, sender OK - how exciting to get mail from you!> RCPT TO:<[email protected]> <[email protected]>, recipient ok> DATA go ahead> Date: Sun, 05 Apr 2019 21:24:34 +0100> To: [email protected]> From: [email protected]> Subject: Test email > X-Mailer: swaks v20181104.0 jetmore.org/john/code/#swaks>> This is a test mailing> . Queued!> QUIT closing connection=== Connection closed with remote host.
Herramientas basadas en la web para probar la retransmisión SMTP
Las pruebas son mucho más fáciles con las herramientas basadas en la web. Para la mayoría de ellas, sólo tienes que introducir tu servidor SMTP y hacer clic en el botón para hacer las cosas. Además, ¡algunas de ellas te permiten probar el servidor para el relé abierto! Aquí están las opciones que más valen la pena.
Herramienta de prueba del servidor de correo de DNS EXIT
DNS EXIT proporciona un conjunto de servicios de DNS estáticos/dinámicos y otras soluciones relacionadas con el correo electrónico. Con su Herramienta de Prueba del Servidor de Correo, usted puede telnet a su servidor SMTP y tratar de entregar el mensaje. Si hay algún fallo de configuración, la herramienta te lo hará saber y te dará una pista para solucionar el error.
Comprobador de servidores SMTP por DNSQueries
Esta herramienta es útil para comprobar el estado de salud del servidor SMTP. Además, te permitirá saber si todo está funcionando correctamente y el servidor no es un relé abierto. Introduzca el nombre de host de su servidor SMTP y haga clic en Ejecutar la herramienta. Intentará conectarse al servidor y enviar correos electrónicos a través de él. Tomamos el servidor SMTP de Gmail y lo comprobamos con el comprobador de DNSQueries. Así es como se muestran los resultados:
MX toolbox
La herramienta de Diagnóstico SMTP de MXToolbox funciona de forma similar. Sólo tienes que introducir el nombre de tu servidor SMTP y hacer clic en Test Email Server. Aquí hay una muestra del resultado de la prueba:
También muestra la transcripción de la sesión a continuación.
Esta es una herramienta integrada que prueba el registro MX, el DNS, la lista negra y el SMTP de una sola vez. Si desea realizar una prueba o búsqueda en particular, utilice un comando especial, por ejemplo «lista negra: smtp.ejemplo.com».
SMTPer
«La simplicidad es la máxima sofisticación» – esta cita de Leonardo Da Vinci brilla en la parte superior de la página de inicio de SMTPer. Es necesario rellenar varios campos para utilizar esta herramienta de pruebas de retransmisión SMTP:
Opcionalmente, puede seleccionar «Usar conexión segura» y «Usar autenticación» (habiendo especificado Login y Password). SMTPer es una herramienta sencilla, pero puede hacer el trabajo.
¿Es Mailtrap una herramienta de pruebas de retransmisión SMTP?
Mailtrap puede hacer muchas cosas para las pruebas de correo electrónico:
Pero las pruebas de retransmisión SMTP no es el caso. Debajo de Mailtrap hay un servidor SMTP falso. Puedes utilizarlo en lugar de un servidor real para probar la capacidad de envío de emails de tu app. Esto evitará que envíe correos electrónicos de prueba a clientes reales. Para más información sobre cómo puedes beneficiarte de Mailtrap, lee la Guía de inicio.