form-handler
Form-handler convierte formularios de contacto en emails SMTP/Mailgun. Soporta múltiples dominios, endpoints por formulario, límites de tasa y validación CORS. Go 1.25+ o Docker distroless con attestation.
Ficha actualizada 26 sept 2026, 17:23 · upstream 26 sept 2026, 17:18 · release v2.2.13
Qué es form-handler
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Form-handler transforma las submisiones de formularios de contacto en correos electrónicos mediante SMTP o Mailgun. Fue diseñado para evitar depender de APIs HTTP de terceros cuando se necesita enviar correo a un dominio auto-hospedado.
El servicio soporta múltiples formularios simultáneamente, cada uno con su propio endpoint, direcciones permitidas, remitente y destinatario independientes. Esto permite separar funcionalidades como un formulario de contacto general y otro para aplicaciones sin compartir bandeja de entrada ni permitir cruces entre dominios.
La configuración se gestiona mediante archivo YAML centralizado con soporte para sobrescribir valores SMTP por formulario. Las contraseñas se cargan desde variables de entorno, lo que permite mantener el archivo en git junto al sitio web. El servicio valida estrictamente todos los parámetros en arranque y rechaza configuraciones incompletas.
- Enviar formularios de contacto a servidor SMTP propio sin depender de APIs externas
- Separar formularios por dominio (ej: careers vs contact) con bandejas independientes
- Auto-hospedado con control total sobre autenticación y direcciones de envío
- Integración en sitios web existentes sin modificar el frontend ni cambiar endpoints
- Pruebas locales con Mailpit para desarrollo sin exponer al internet
- Soporta múltiples formularios con endpoints distintos (/contact/{id})
- Validación estricta de CORS por formulario con ALLOWED_ORIGINS
- Configuración YAML centralizada con secretos en variables de entorno
- Imágenes distroless con attestation de build verificable vía gh attestation
- Soporte SMTP y Mailgun (no ambos simultáneamente para evitar conflictos)
- Límites de tasa por cliente configurable por formulario
- No tiene defaults: MAIL_FROM, MAIL_TO y ALLOWED_ORIGINS son obligatorios
- Sin Dockerfile nativo; usa ko para builds CI con imagen en ghcr.io
- Imagen distroless sin shell (requiere --healthcheck especial para probes)
- Solo acepta SMTP o Mailgun, no ambos simultáneamente
- Variables de entorno vacías o unset provocan fallo en arranque
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.
Requiere servidor SMTP/Mailgun configurado con credenciales válidas. Variables MAIL_FROM, MAIL_TO y ALLOWED_ORIGINS son obligatorias sin defaults. Usar password_env para secretos en lugar de inline. Validar CORS por dominio para evitar uso indebido del mailbox.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
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.