Cuando estás desarrollando una web que tiene interacción con los usuarios, ya sea por creación de cuentas, notificaciones de comentarios, recordatorios de contraseñas, lo más seguro es que necesites enviar correos.
Existen muchas alternativas para enviar correos por servidores SMTP desde cuentas de "Desarrollo" como desarrollo-miquipo@gmail.com, pero llega un punto en el que se convierte en un lío o peor, puedes tener el puerto capado (25, 465, 587) o te pueden acabar banneando por un envío masívo de correos desde un servidor no confiable. Lógicamente, una máquina de desarrollo no es un servidor confiable.
¿Qué soluciones existen?
Para un buen entorno de desarrollo, para mí la única alternativa son los falsos servidores SMTP. La gran ventaja es que puedes enviar cualquier correo a cualquier dirección, existente o no, que vas a poder leerlos.
MailCatcher
Desde hace tiempo existe MailCatcher. Es un falso servidor SMTP, escrito en Ruby, que intercepta todos los correos enviados y te los muestra en una pantalla HTTP como si fuese tu cliente de correo. El problema, bajo mi punto de vista, es que está hecho en Ruby, y yo y las gemas nos llevamos fatal.
MailHog
La mejor alternativa que he encontrado y que me está sorprendiendo hacia muy bien es MailHog (https://github.com/mailhog/MailHog). MailHog es también un falso servidor SMTP escrito en Go, pero con binarios para instalar en la mayoría de los sistemas operativos. No dependes de una máquina virtual ni nada. Instalas y a funcionar, configurado por defecto.
MailHog levanta 2 puertos:
- 1025: El puerto del servidor SMTP. En tu configuración de envío de correos indicas que el envío de correos se hace desde localhost:1025. No hay credenciales, ni SSL, ni nada. Sólo quieres enviar correos.
- 8025: Es el puerto HTTP que provee MailHog para leer los correos enviados. Una interfaz super simple que permite lo más básico, leer los correos y ver las cabeceras de los correos.
Por supuesto, estos puertos son configurables, incluso algunas otras opciones más avanzadas.
Os dejo un par de capturas de las dos vistas que tiene MailHog, la lista de mensajes y el detalle del mensaje.
Espero que os sirva para testear esos correos que, a veces, son tan complicados de debuggear por tantos posibles puntos de fallo.
Add new comment