Mail-Service
Servicio de correo en Go autocontenido que envía correos HTTP con servidores SMTP por clave, límites de tasa, reglas IP, historial y consola admin. Imagen Docker lista para usar.
Ficha actualizada 23 sept 2026, 17:10 · upstream 23 sept 2026, 16:52 · release sin release detectada
Qué es Mail-Service
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Mail Service es un servicio de correo backend construido en Go que acepta solicitudes de envío de correo a través de una API HTTP y las procesa de forma asíncrona. Está diseñado para enviar correos mediante SMTP o simular la entrega cuando no se configura SMTP. Incluye almacenamiento en PostgreSQL, validación de formularios, registro de historial de mensajes, panel administrativo con gestión de claves API, límites por clave (horas/días/semanas/meses) y soporte para envíos reales a través de un servidor SMTP dedicado o simulado.
- Servidor de correo propio sin necesidad de proveedores externos
- API de envío masivo de correos con control de límites por clave
- Simulación de entrega de correos sin configurar SMTP real
- Gestión de acceso y permisos para múltiples usuarios o aplicaciones
- Registro automático de solicitudes de API key con confirmación por correo
- Monitoreo del estado del servicio mediante endpoints de salud y logs
- Envío de mensajes masivos (bulk mail) con validación estricta
- Soporte para envíos reales a través de un servidor SMTP dedicado por cada clave API, con configuración independiente de From address y contraseña encriptada AES-256-GCM
- Sistema de límites per-clave que permite controlar la tasa de envío (horas/días/semanas/meses) sin bloquear el servicio completo
- Historial detallado de cada correo enviado con registro de IP, destinatario, asunto y estado de entrega
- Panel administrativo protegido por superusuario para crear, editar, desactivar o eliminar claves API con validación en tiempo real
- Validación estricta del formulario de envío (nombre, email, teléfono, uso de caso) con mensajes de error claros
- Soporte para envíos simulados cuando no se configura SMTP, manteniendo el registro de intentos fallidos
- El historial de correos se pierde si se detiene y reinicia el servicio sin guardar la base de datos
- Los límites por clave son contadores deslizantes (rolling window) que pueden generar bloqueos intermitentes en casos de picos de tráfico
- La validación del formulario es manual y no puede detectar errores de sintaxis en los campos de texto
- El servicio no tiene autenticación de dos factores ni cifrado adicional para las contraseñas de SMTP
- No incluye un sistema de notificaciones push para alertas de límites o fallos críticos
- La base de datos PostgreSQL se consume con cada envío, lo que puede generar cuellos de botella bajo carga alta
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para producción, despliega el contenedor Docker usando docker-compose. Configura variables de entorno en .env: POSTGRES_PASSWORD (mínimo 12 caracteres), SUPERUSER_PASSWORD y opcionalmente SUPER_API_KEY. En entornos con proxy, activa TRUST_PROXY=true para usar la IP del cliente real. Activa HTTPS con SSL/TLS. El endpoint /health es el único sin autenticación. Para envíos masivos, considera agregar un límite de tasa global en lugar de por clave si no se requiere control diferenciado.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.