emailer
Self-hosted transactional & notification email service for PHP. Supports campaigns, templates, DKIM delivery, open/click tracking, subscription management, and an HTTP API with a console runner.
Ficha actualizada 22 sept 2026, 22:24 · upstream 22 sept 2026, 22:05 · release sin release detectada
Qué es emailer
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Mailer is a self-hosted transactional email service built on top of Doctrine DBAL 4 that stores projects, campaigns, templates, and recipients in a relational database. It renders HTML emails from reusable template blocks using PHPMailer for SMTP delivery with DKIM support. The system tracks opens, clicks, and unsubscribe actions through HTTP endpoints. Unlike frameworks like MailChimp or SendGrid, this is a pure PHP library with no framework lock-in — it can be integrated into any application, containerized via Docker, or run as a standalone console tool.
- Send transactional emails to users (password resets, account confirmations)
- Automated marketing campaigns using reusable templates
- Newsletter distribution with open and click tracking
- One-click subscription/unsubscription management
- Email verification and registration flows
- Internal notifications within an application
- Uses Doctrine DBAL 4 for a clean, modern ORM approach without framework dependencies
- Supports DKIM signing with PHPMailer for deliverability compliance
- Provides both a full HTTP front controller and a console runner for queue processing
- Redis caching handles MX lookups and authentication tokens efficiently
- Open/click tracking via dedicated endpoints with per-recipient statistics
- One-click subscribe/unsubscribe with List-Unsubscribe header support
- Requires PHP >= 8.4 with specific extensions (pdo, redis, intl, mbstring)
- No built-in email sending capability — must be wired to an SMTP server
- Template rendering is manual via template blocks and placeholders without a templating engine
- No built-in rate limiting or spam filtering beyond basic SMTP error classification
- Subscription management only supports one-click unsubscribe; bulk opt-out requires external tools
- Requires Redis for caching — unavailable on systems without Redis support
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.
Run `./console migrations migrate` before deploying to ensure schema is up-to-date.,Configure SMTP credentials in `.env_dist` or a local `.env` file with proper security practices (never commit passwords).,Use Redis for caching MX records and auth tokens; consider using an external cache server if Redis is unavailable.,Set `secret_key` to a strong random string to enable the read-only GET /emailer/get/{key}/{secret} endpoint, which serves rendered email bodies securely.,Schedule cron jobs for queue processing (`./console send`, `reSend`) and daily transport counter resets (`newDay`).,Enable SQL logging with `sql_log.params: true` only in development environments to inspect INSERT/UPDATE operations containing sensitive data like emails.
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.