Probar las notificaciones por correo electrónico de tu propia aplicación tiene un problema recurrente: si la aplicación envía correos a través de un SMTP real, tarde o temprano un error tipográfico en los datos de prueba o un cambio de entorno olvidado hará que un restablecimiento de contraseña de prueba o una factura llegue a la bandeja de entrada de un cliente real. Mailtrap resuelve esto en la nube, pero con una suscripción que aumenta con el número de correos enviados. Mailpit es un SMTP catcher de código abierto que puedes instalar en tu propio Box, que intercepta cada mensaje enviado por SMTP desde tu aplicación y lo muestra en un panel web, sin límite en el número de correos y sin tarifa mensual. A continuación, te mostramos cómo instalar Mailpit en Saplo, paso a paso.
Por qué Mailpit en lugar de enviar a un buzón real o a Mailtrap
Probar correos electrónicos sin un catcher dedicado suele seguir uno de estos dos caminos, y ambos tienen sus desventajas:
- Envío a un buzón de prueba real: funciona, hasta que alguien confunde una variable de entorno o la dirección del destinatario en los datos de prueba, y entonces el correo de prueba termina donde no debería.
- Mailtrap y servicios similares en la nube: resuelven este problema, pero cuestan, y el límite de correos electrónicos interceptados en el plan gratuito se agota más rápido de lo que el equipo termina las pruebas.
Mailpit funciona como un único contenedor Docker en tu Box, por lo que cada correo electrónico enviado por SMTP desde la aplicación es interceptado localmente, sin límite de mensajes y sin riesgo de que algo se envíe a un destinatario real.
Mailpit vs. Mailtrap y MailHog
Mailpit es el sucesor directo de MailHog, un proyecto que no se ha desarrollado en mucho tiempo, por lo que la pregunta natural es en qué se diferencia de ambos:
- Mailtrap es un servicio en la nube con un límite gratuito en el número de correos electrónicos interceptados por mes: es conveniente, ya que no tienes que instalar nada, pero de pago para un mayor volumen de tráfico de prueba y si quieres tener tus datos con un proveedor externo.
- MailHog es un proyecto más antiguo con una función muy similar, pero sin desarrollo activo desde hace años, por lo que ya no recibe actualizaciones ni nuevas funciones.
- Mailpit combina las ventajas de ambos: se desarrolla activamente como MailHog en su día, y lo instalas en tu propio Box como Mailtrap, sin límite en el número de correos electrónicos y sin coste por el tráfico de prueba.
Si tu equipo prueba muchas notificaciones por correo electrónico y quiere tener un control total, sin un límite en el plan gratuito y sin tener que esperar a que un proyecto muerto se active, Mailpit es la mejor opción.
Requisitos
Para instalar Mailpit en Saplo, necesitas:
- Un Box con Docker activado (el motor lo activa automáticamente al instalar desde el catálogo, se requiere anidamiento en el contenedor, lo cual Saplo tiene por defecto),
- Un mínimo de 256 MB de RAM libre en el Box y 2 GB de espacio en disco, es decir, el plan Box S (27 €/año) es suficiente,
- Un dominio o subdominio
*.saploapp.pl, incluido en el precio de cada plan, donde se alojará el panel de vista previa de correos electrónicos, - NO necesitas configurar una base de datos separada: Mailpit guarda los correos electrónicos interceptados en su propio archivo SQLite en el volumen de datos.
Instalación paso a paso
- En el panel de Saplo, ve a Catálogo de aplicaciones y selecciona Mailpit (categoría "Herramientas").
- Indica el Box con un mínimo de 256 MB de RAM libre donde se instalará el catcher, y el dominio o subdominio bajo el cual funcionará el panel.
- Confirma la instalación. El motor implementa un contenedor desde la imagen oficial
axllent/mailpit, genera un puerto SMTP aleatorio y expone el panel web exclusivamente en el loopback del Box, conectado a nginx, que lo sirve bajo el dominio indicado con SSL gratuito. Solo el panel se expone al exterior; el puerto SMTP permanece disponible exclusivamente de forma local en el Box. - Después de
docker compose up, el motor comprueba si el panel realmente responde por HTTP antes de considerar que la instalación ha finalizado. - Los datos de conexión SMTP para otras aplicaciones en el mismo Box (host, puerto) se guardan en el archivo
MAILPIT-SETUP.txten el directorio de la aplicación.
Primera configuración
Mailpit, a diferencia de Chatwoot o Directus, no tiene ninguna cuenta ni inicio de sesión en el panel; es un sandbox para pruebas, no correo real, por lo que el panel está abierto inmediatamente después de la instalación.
- Ve a la dirección de tu dominio, por ejemplo
poczta-test.saploapp.pl, y verás una lista vacía de correos electrónicos interceptados, lista para tu primer mensaje. - En la configuración SMTP de tu aplicación (WordPress, Django, Node) en la misma Box, introduce el host
127.0.0.1y el puerto especificado en el archivoMAILPIT-SETUP.txt; el usuario y la contraseña pueden ser cualquiera, Mailpit acepta cualquier credencial. - Envía un correo electrónico de prueba desde la aplicación, por ejemplo, un restablecimiento de contraseña o una notificación de pedido, y actualiza el panel de Mailpit: el mensaje aparecerá en la lista con una vista previa del contenido HTML y de texto, así como de los archivos adjuntos.
- Cada correo electrónico interceptado puede abrirse, verificar los encabezados SMTP y previsualizarse cómo se ve en un cliente de correo, sin riesgo de que algo llegue a un destinatario real.
- Ningún correo electrónico interceptado por Mailpit se envía a ningún otro lugar; es exclusivamente una vista previa local para fines de prueba.
Mailpit en Saplo vs. Mailtrap y MailHog
| Mailtrap en la nube | MailHog | Mailpit en Saplo | |
|---|---|---|---|
| Límite de correos electrónicos | sí, en el plan gratuito | no | no |
| Desarrollo activo | sí | no | sí |
| Dónde se guarda el contenido de los correos capturados | en el servidor del proveedor | en tu propio servidor | en tu Box |
| Costo | suscripción después de exceder el límite | costo de tu propio servidor | costo de la Box |
Preguntas frecuentes
¿Mailpit reenvía los correos a los destinatarios reales? No, cada correo enviado por SMTP a Mailpit es solo interceptado y mostrado en el panel, nunca llega al destinatario real.
¿Es necesario introducir credenciales SMTP reales en la aplicación? No, Mailpit acepta cualquier usuario y contraseña, ya que solo intercepta envíos de prueba, no es un servidor de correo real.
¿En qué se diferencia Mailpit de MailHog, si hacen lo mismo? Mailpit es el sucesor de MailHog, un proyecto que ya no recibe actualizaciones, y está en desarrollo activo.
¿Mailpit es adecuado para envíos de producción? No, es exclusivamente un sandbox para pruebas; para envíos reales se necesita una cuenta de correo separada o un servicio transaccional.
Si tu equipo está probando las notificaciones por correo electrónico de tu propia aplicación y quieres asegurarte de que ningún correo de prueba llegue a un cliente real, escríbenos, te ayudaremos a elegir el Box adecuado para tu equipo.
- #DevOps
- #Mailpit
- #Guía
- #SMTP
- #Pruebas
