SendGrid (now Twilio) sends transactional and marketing email behind an HTTPS API and SMTP relay. Self-hosting the sending box is technically easy; the actual work is establishing IP reputation, SPF/DKIM/DMARC, and surviving spam filters — which is also why most teams pair self-hosted Postal with a relay like Amazon SES.
SendGrid pricing anchor: Free 100/day; Essentials $19.95/mo for 50k; pricing climbs with sender reputation features.
Postal postalserver/postal alive
- GitHub
- ★ 16.5k · last commit 11d ago · 77 open issues
- License
-
MIT - Setup time
- 30min docker-compose (Postal + MariaDB + RabbitMQ)
- Monthly cost
- $5-10 VPS for the server itself; deliverability matters more than cost — most setups relay through Amazon SES at $0.10 / 1k emails to keep IP reputation clean.
Migration sketch. Stand up Postal, create an organization + mail server, generate API credentials. In your application, swap `POST https://api.sendgrid.com/v3/mail/send` for `POST https://postal.example.com/api/v1/send/message` with Postal's `X-Server-API-Key` header. Postal accepts a SendGrid-shaped JSON body with minor field renames (`personalizations[].to[].email` → `to`, `from.email` → `from`).
Good fit forTeams sending real-volume transactional email that want a SendGrid-shaped HTTP API + a clear deliverability dashboard.
Weak atMarketing automation (templates, A/B, drip campaigns) is not Postal's job — pair with Listmonk or Mautic for that.
Cuttlefish mlandauer/cuttlefish dead
- GitHub
- ★ 1.62k · last commit 23mo ago · 150 open issues
- License
-
AGPL-3.0 - Setup time
- 30min docker-compose (Rails app + Postgres)
- Monthly cost
- $10 VPS — Rails + Postgres + a sender process; you still want an upstream relay for deliverability.
Migration sketch. Cuttlefish exposes SMTP — point your app at it via standard `MAIL_HOST`/`MAIL_PORT` env. If you were using SendGrid's HTTP API, swap to your language's SMTP library (Nodemailer, smtplib, ActionMailer SMTP). Cuttlefish then handles bounces, click/open tracking, and a per-email log via its dashboard.
Good fit forRails / Ruby shops that prefer SMTP + an inspectable web UI over an HTTPS API.
Weak atSmaller community than Postal; no native HTTPS send API — you go through SMTP.
Haraka haraka/Haraka alive
- GitHub
- ★ 5.56k · last commit today · 5 open issues
- License
-
MIT - Setup time
- 1h (Haraka is a framework — you wire plugins for your routing rules)
- Monthly cost
- $5 VPS; you compose Haraka with your own Node plugins, so cost is whatever you build.
Migration sketch. Haraka is a Node SMTP framework, not a finished product. You install it, enable plugins (`tls`, `dkim_sign`, `outbound`), point your app at it via SMTP, and get a programmable, scriptable relay. Migration from SendGrid means dropping the HTTPS API in favor of SMTP and building any UI/dashboard you need.
Good fit forEngineers who want a programmable SMTP layer and are comfortable shipping a small amount of glue code.
Weak atNo GUI, no batteries-included dashboard; deliverability tooling is what you build.