Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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.

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

Perfil de infraestructura

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

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

Despliegue detectado

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

Despliegue manual

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.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
10258025
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.