16.8k stars · MIT · v3.3.7 (2026-06-03), read from /releases/latest
Your own mail-sending server, with DKIM signing, bounce handling and a searchable log of every message.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Postal is a complete mail server for outgoing mail. It has a web interface, an HTTP interface and an SMTP interface, and it tracks what happened to every message.
Why it matters
Listmonk (Edition 2 #1), Mautic (Edition 10 #6) and Dittofeed (Edition 14 #8) all write the email. None of them deliver it. Every one of them asks you for a sending account. That is the same missing piece three times over. Owning it removes a bill that grows as your list grows, and it gives you the delivery log you need on the day a group of Russian addresses stops receiving anything.
- MIT, and the whole product is in the repository. Nothing is held back.
- It does the real delivery work: message signing, bounce processing, suppression lists, and a searchable log of every message.
- It accepts mail over both SMTP and HTTP, so any of the tools above can hand it their messages.
- The install is the easy half. Getting mail accepted is the hard half. A brand new sending address has no reputation, so you must start with small volumes and build up, or you land in spam folders.
- Hosting companies block outgoing port 25 on new accounts, and Hetzner is one of them. You have to ask them to open it and they can say no. Check this before you spend the afternoon.
- MariaDB plus a message queue plus the application, about 2 GB of memory. And when mail stops flowing at midnight, it is your problem, not a supplier's.
sudo apt install -y docker.io docker-compose-plugin git sudo git clone https://github.com/postalserver/install /opt/postal/install sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal sudo postal bootstrap postal.yourdomain.com sudo postal initialize sudo postal make-user sudo postal start

