posthorn
Posthorn es una capa unificada de correo saliente auto-alojada que actúa como gateway entre aplicaciones self-hosted y proveedores de email transaccional (Postmark, Resend, Mailgun, AWS SES o SMTP outbound). Proporciona tres formas de ingreso: HTTP form, HTTP API y SMTP listener.
Ficha actualizada 19 sept 2026, 2:32 · upstream 19 sept 2026, 2:32 · release v1.2.0
Qué es posthorn
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Posthorn es una capa unificada de correo saliente diseñada para proyectos auto-alojados. Actúa como gateway único entre todas las aplicaciones que self-hosteas y el proveedor de email transaccional que ya hayas elegido. Ofrece tres formas de ingreso: HTTP form (para formularios de contacto, signups, alertas webhooks), HTTP API (para workers, cron jobs, servicios internos) y SMTP listener (para Ghost, Gitea, Mastodon, Matrix, NextCloud, Authentik).
El proyecto está escrito en Go 1.25+ y se distribuye como un único binario Go o imagen Docker distroless multi-arch. Utiliza una única configuración TOML para definir endpoints, transportes y límites de tasa. No requiere servidor de correo propio ni gestión de claves DKIM/SPF/DMARC — delega eso al proveedor elegido.
Soporta cinco transportes: Postmark, Resend, Mailgun, AWS SES (con SigV4 bespoke) y outbound-SMTP relay. Cada transporte implementa la misma interfaz Transport, permitiendo cambiar de proveedor con una edición TOML. Incluye endpoints /healthz y /metrics para Prometheus.
- Formularios de contacto en sitios web self-hosted (Hugo + Comentario) con honeypot, Origin/Referer y rate limit
- Envío de emails transaccionales desde workers, cron jobs o servicios internos mediante HTTP API con autenticación Bearer
- Integración con aplicaciones SMTP nativas como Ghost, Gitea, Mastodon, Matrix, NextCloud, Authentik vía listener en puerto 2525
- Emails de reset de contraseña desde Cloudflare Workers sin dependencias de cliente SDK
- Digestes de cron para Umami y otras herramientas de analítica self-hosted
- Single Go binary con única configuración TOML — despliegue simplificado
- Tres formas de ingreso (HTTP form, HTTP API, SMTP) convergen en un mismo transport.Message
- Cinco transportes soportados: Postmark, Resend, Mailgun, AWS SES y outbound-SMTP relay
- Idempotencia con keys por solicitud y retries automáticos (1 retry 5xx/429, timeout 10s)
- Endpoints /healthz y /metrics para monitoring Prometheus sin configuración adicional
- No requiere servidor de correo propio — delega SPF/DKIM/DMARC al proveedor elegido
- Requiere Go 1.25+ (versión futura según documentación actual)
- No es un servidor de correo: no almacena mailbox, ni IMAP/JMAP, ni gestión de claves DKIM
- No es infraestructura outbound propia — relaya a través del proveedor elegido sin gestionar reputación IP
- No es plataforma de marketing: sin gestión de listas, segmentación o dashboard de campañas
- No incluye UI webmail para lectura de correo
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.
Configurar DNS SPF, DKIM y DMARC en el dominio de envío. Ejecutar detrás de reverse proxy (Caddy, nginx, Traefik) — Posthorn no termina TLS. Para endpoints HTTP form, configurar allowed_origins y rate_limit. Si está detrás de reverse proxy, definir trusted_proxies con CIDR del proxy o preset cloudflare. Wire healthcheck a /healthz y Prometheus scrape a /metrics.
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.