Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

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.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGoPython
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
80805432
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.