Guía de despliegue

Mailpit: servidor SMTP de pruebas autoalojado en su VPS

Desplegar en un VPS Cloud →

Tutorial

Mailpit: servidor SMTP de pruebas autoalojado en su VPS

Autoalojamiento4 min de lectura5 pasos

Mailpit es el sucesor oficioso de MailHog: un servidor SMTP de pruebas que captura cada correo enviado por su aplicación y lo muestra en una interfaz web moderna, sin entregarlo nunca a un destinatario real. Con la búsqueda de texto completo, la puntuación antispam, las comprobaciones de compatibilidad HTML y una API REST para sus pipelines de CI, Mailpit se impone como la herramienta de referencia para los equipos que prueban su código de envío de correos. Esta guía le muestra cómo desplegarlo en menos de dos minutos en su VPS.

Contenido· Por qué sustituir MailHog por Mailpit1/7
  1. 01Por qué sustituir MailHog por Mailpit
  2. 02Lo que Mailpit aporta en la práctica
  3. 03Arquitectura de despliegue en un VPS
  4. 04Desplegar Mailpit en 5 pasos
  5. 05Mailpit en CI/CD: probar los correos en el pipeline
  6. 06Mailpit vs MailHog vs Mailtrap
  7. 07Casos de uso avanzados

Por qué sustituir MailHog por Mailpit

MailHog es el servidor SMTP de pruebas que se encontraba en todas partes hace cinco años. Pero ya no se mantiene desde 2020 y arrastra una vulnerabilidad XSS almacenada sin corregir (Exploit-DB 50971): cualquier correo que contenga JavaScript puede comprometer la interfaz. Mailpit lo sustituye con un binario Go moderno (menos de 50 MB de RAM), una interfaz depurada, la búsqueda de texto completo, una API REST documentada, un informe de compatibilidad HTML y la puntuación antispam integrada. Viene instalado por defecto en Laravel Sail desde la versión 11 y en DDEV desde la versión 1.22, lo que lo convierte en el nuevo estándar del sector.

Lo que Mailpit aporta en la práctica

  • Captura SMTP en el puerto 1025: ningún correo sale de su VPS, basta con configurar su aplicación en localhost:1025.
  • Interfaz web en el puerto 8025 con búsqueda de texto completo en el asunto, el remitente y el cuerpo.
  • API REST GET /api/v1/messages: consulte los correos desde sus pruebas de integración sin ningún relay externo.
  • Puntuación antispam con las reglas de SpamAssassin: detecte los problemas de entregabilidad antes de la producción.
  • Informe de compatibilidad HTML: identifique las propiedades CSS que Gmail, Outlook o Apple Mail eliminarán.
  • Vista previa móvil y vista del código fuente, con renderizado HTML completo y cabeceras detalladas.
  • Interfaz POP3 para recuperar los correos capturados con cualquier cliente de correo.
  • SQLite en un volumen persistente: los mensajes sobreviven a los reinicios del contenedor.

Arquitectura de despliegue en un VPS

Mailpit se ejecuta en un único contenedor Docker. El servidor SMTP es accesible en localhost:1025 (solo loopback), lo que significa que únicamente las aplicaciones que se ejecutan en el mismo VPS pueden enviarle correos: exactamente lo que se busca. La interfaz web se expone en localhost:8025 y luego se proxifica con nginx hacia el dominio que usted elija. Este esquema es idéntico al de Node-RED, Plausible o Umami: un contenedor, un puerto loopback, un dominio nginx y un volumen persistente.

Desplegar Mailpit en 5 pasos

  1. Desplegar desde el marketplace de ServOrbit

    Abra su panel de control, vaya a Marketplace → Desarrollo → Mailpit y haga clic en Desplegar. El contenedor arranca en menos de diez segundos.

  2. Configurar el SMTP de su aplicación

    En sus variables de entorno, defina MAIL_HOST=127.0.0.1 y MAIL_PORT=1025. Ninguna autenticación, ningún TLS requerido por defecto. Laravel, Symfony, Django, Node.js: todos admiten esta configuración de forma nativa.

  3. Acceder a la interfaz web

    Vaya al dominio asociado a su instancia de Mailpit. Verá la bandeja de entrada en tiempo real: haga clic en cualquier correo para inspeccionar su renderizado HTML, sus cabeceras y su puntuación antispam.

  4. Integrar la API REST en sus pruebas

    Llame a GET https://mailpit.su-dominio.com/api/v1/messages desde su suite de pruebas. Filtre por destinatario, verifique el asunto, cuente los archivos adjuntos: todo ello sin mock ni stub.

  5. Verificar la compatibilidad HTML

    Abra un correo HTML y haga clic en la pestaña Compatibilidad. Mailpit enumera las propiedades CSS no admitidas cliente por cliente, con enlaces a las correcciones recomendadas.

Mailpit en CI/CD: probar los correos en el pipeline

Despliegue Mailpit como servicio en el docker-compose.yml de pruebas (image: axllent/mailpit:latest, ports: 127.0.0.1:8025:8025 y 127.0.0.1:1025:1025). Sus pruebas de integración envían correos a localhost:1025 y luego verifican mediante la API REST que se ha recibido el mensaje correcto. Este patrón lo utilizan los equipos de Laravel, Symfony y Django para validar las notificaciones y los correos transaccionales sin relay externo.

Mailpit vs MailHog vs Mailtrap

Desplace la tabla

CriterioMailpitMailHogMailtrap
MantenedorAxle Springer (activo)Abandonado desde 2020Mailtrap Inc. (SaaS)
SeguridadNinguna vulnerabilidad conocidaXSS almacenada sin corregirSaaS — datos alojados en otro sitio
API RESTCompleta y documentadaBásica, sin documentarSí (plan de pago)
Puntuación antispamIntegrada (SpamAssassin)AusenteSí (plan de pago)
Compatibilidad HTMLInforme integradoAusenteSí (plan de pago)
PrecioGratis, MITGratis, MITFreemium, luego 24 $/mes
AutoalojamientoUn contenedor DockerUn binario GoSolo SaaS

Casos de uso avanzados

Más allá de la simple prueba de envío, Mailpit ofrece varias funcionalidades poco conocidas. El modo multitenant (--mp-tenant) permite separar los correos por aplicación dentro de un mismo servidor. La autenticación SMTP (MP_SMTP_AUTH_FILE) permite restringir quién puede conectarse. La variable MP_UI_AUTH_FILE añade una autenticación básica en la interfaz web si la expone públicamente. Y la retención configurable (MP_MAX_MESSAGES=0 para ilimitada, o un número concreto) le permite ajustar la política de conservación según sus necesidades de prueba.

Despliegue Mailpit en un clic en ServOrbit

Con un VPS ServOrbit Cloud, Mailpit está disponible directamente en el marketplace. Configure su SMTP de pruebas en dos minutos, sin ningún servidor aparte que gestionar.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva