You are here

MailHog, el aliado perfecto para envío de correos en desarrollo

isholgueras's picture
Submitted by isholgueras on Wed, 06/15/2016 - 09:35

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

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.