Solución de la comunidad

Instalar Mailpit en CasaOS con la configuración oficial de Docker

A 2023 BigBearCasaOS tutorial introduced Mailpit; current upstream docs now define the preferred Docker image, ports, persistence, and security options.

Instala Mailpit en CasaOS con la imagen oficial de Docker axllent/mailpit, el puerto 8025 para la bandeja de entrada web y el puerto 1025 para SMTP. Conserva /data solo si quieres que los mensajes y la configuración sobrevivan a la recreación del contenedor.

El antiguo tutorial de BigBearCasaOS sigue siendo útil como ejemplo de instalación con un clic, pero la documentación actual de Mailpit proporciona la imagen exacta de Docker, la opción de una base de datos persistente, opciones de autenticación y ajustes de TLS y retransmisión. Estos elementos deberían definir la guía de 2026.

Para qué sirve Mailpit

Mailpit es un servidor SMTP local para realizar pruebas de desarrollo. Las aplicaciones envían los correos de prueba a Mailpit en lugar de a un proveedor de correo real, y puedes inspeccionar los mensajes desde un navegador.

No es un buzón de producción normal ni un servidor de correo expuesto a Internet.

Usa la imagen oficial de Docker

La guía de Docker de Mailpit actual documenta:

axllent/mailpit

Mapeo de puertos en CasaOS

  • 8025/TCP: interfaz web de Mailpit
  • 1025/TCP: receptor SMTP

Si otro servicio ya utiliza alguno de los puertos del equipo anfitrión, cambia el puerto del lado del anfitrión y conserva sin cambios el puerto del lado del contenedor.

Configuración básica de una aplicación personalizada de CasaOS

image: axllent/mailpit
restart: unless-stopped
ports:
  - "8025:8025"
  - "1025:1025"

Después del inicio, abre http://CASAOS-IP:8025.

Configura tu aplicación para usar Mailpit

Para otro contenedor en la misma red de Docker, usa el nombre del servicio o del contenedor de Mailpit y el puerto 1025. Para una aplicación de la red local, usa la dirección IP del anfitrión de CasaOS y el puerto SMTP publicado en el anfitrión.

Conserva los mensajes solo si lo necesitas

La documentación actual de Mailpit admite una base de datos SQLite en /data mediante:

MP_DATABASE=/data/mailpit.db

Asigna una carpeta de datos de la aplicación de CasaOS a /data si quieres que el historial de mensajes sobreviva a la sustitución del contenedor.

Mantén Mailpit privado

Una bandeja de entrada de pruebas puede contener enlaces para restablecer contraseñas, notificaciones de API y datos de aplicaciones. No expongas directamente a Internet la interfaz web ni el receptor SMTP sin autenticación.

La guía de configuración de Mailpit actual documenta la autenticación HTTP, SMTP y POP3, además de las opciones de TLS.

Cuándo no necesitas publicar el puerto 1025

Si solo los contenedores de la misma red de Compose envían correo a Mailpit, puedes omitir la publicación del puerto SMTP en el anfitrión y mantenerlo interno en Docker.

La guía de redes de Docker explica el mismo modelo de aislamiento.

Prueba la conexión SMTP antes de integrarla en tu aplicación

Después de iniciar Mailpit, confirma que la interfaz web se abre y envía un mensaje de prueba desde un cliente SMTP sencillo o desde tu aplicación. Si el mensaje aparece al instante en la bandeja de entrada de Mailpit, tanto la ruta de red como el receptor SMTP funcionan correctamente.

Si la aplicación informa de que se rechazó la conexión, confirma que utiliza el nombre de host correcto desde su propio contexto de red. Normalmente, un contenedor debe usar el nombre del servicio de Mailpit; un portátil conectado a la red local debe usar la dirección IP del anfitrión de CasaOS.

Usa autenticación solo cuando la necesites para las pruebas

Mailpit puede aceptar SMTP sin autenticación para un desarrollo local sencillo, pero las opciones de configuración actuales también admiten autenticación SMTP y autenticación de la interfaz. Actívalas cuando varios usuarios compartan el laboratorio o cuando el servicio sea accesible desde fuera de una única red de Docker de confianza.

Mantén separado el correo de pruebas del correo de producción

Mailpit está diseñado para capturar mensajes y evitar que lleguen accidentalmente a usuarios reales. Configura explícitamente las aplicaciones de desarrollo y preproducción para usar Mailpit, y conserva las credenciales SMTP de producción en una configuración separada. Así evitarás que un correo de prueba para restablecer una contraseña o una avalancha de notificaciones llegue a los clientes.

Establece un límite de mensajes para laboratorios de larga duración

Mailpit puede conservar miles de mensajes. En un entorno de CI o laboratorio doméstico que funcione de forma continua, establece un máximo razonable y conserva solo lo que realmente necesites. De lo contrario, una pequeña herramienta de pruebas puede convertirse poco a poco en otra base de datos que tendrás que mantener.

Preguntas frecuentes

¿Cuáles son los puertos predeterminados de Mailpit?

El 8025 para la interfaz web y el 1025 para SMTP.

¿Mailpit envía correos reales?

Su función principal es capturar localmente los correos de prueba. Puede configurarse para reenviar o retransmitir mensajes, pero eso requiere una configuración explícita independiente.

¿Necesito una base de datos?

No para pruebas temporales. Usa la opción de base de datos SQLite si quieres conservar el historial de mensajes.

¿Debería exponer Mailpit públicamente?

No. Mantenlo en una red de confianza o protégelo con autenticación y TLS.