
BillionMail is an open-source stack that combines a self-hosted mail server, webmail, newsletter, and email marketing into one Docker Compose deployment. Here is what it actually does, how to install it on a VPS, and the deliverability work it does not do for you.
Most email marketing tools charge per contact or per send. Most self-hosted mail servers stop at delivering mail and leave campaigns to a separate product. BillionMail tries to combine both: a mail server, webmail, newsletter, email marketing, transactional sending, analytics, and contact management in one open-source stack.
That is an ambitious claim. This post breaks down what the repository actually ships, how the Docker stack is structured, how installation works, what DNS and infrastructure you still need, and where the "unlimited sending" marketing stops matching reality.
Repository: github.com/Billionmail/BillionMail
BillionMail is not a managed email service. It is a self-hosted software stack you install on your own Linux server. The official tagline describes it as "an open-source MailServer, NewsLetter, Email Marketing Solution for smarter campaigns."
The important distinction: BillionMail is the software, not the infrastructure. You bring the VPS, the IP, the domain, and the DNS records. The software gives you the management layer on top.
This is the part that makes BillionMail more interesting than a typical marketing dashboard. The Docker Compose file does not run one opaque container. It runs a stack of familiar mail components:
| Service | Role |
|---|---|
| Postfix | SMTP mail transfer agent — sends and receives mail |
| Dovecot | Mailbox storage and IMAP/POP3 access |
| Rspamd | Spam and malware filtering |
| Roundcube | Webmail client |
| PostgreSQL | Primary database for campaigns, contacts, and config |
| Redis | Caching and queue layer |
| BillionMail service | The management UI, campaign engine, and API |
That matters because these are the same components large mail providers use. You are not running a black box. When something breaks, you can inspect Postfix queues, check Rspamd scores, and read Dovecot logs using standard mail operations knowledge.
The README provides a clone-and-install flow. The installer recommends a VPS or physical machine over an LXC container, and supports both x86_64 and aarch64.
CodeLoading…
The install script starts the Docker services, generates initial configuration, and exposes the admin web UI. The README advertises an eight-minute setup. Treat that as a best case for a clean VPS with all prerequisites met, not a guarantee.
Before you run the installer, the server must have:
Many cloud providers block outbound port 25 by default to prevent spam. Check this before you commit to a VPS. If port 25 is blocked, the mail server will start but no mail will leave the machine.
Installing the software is the easy half. The hard half is making sure receiving providers (Gmail, Outlook, and others) accept your mail. That requires a complete set of DNS and infrastructure records:
| Record | Purpose |
|---|---|
| MX | Tells other servers where to deliver mail for your domain |
| SPF | Lists which IPs are allowed to send from your domain |
| DKIM | Cryptographic signature proving the mail was not tampered with |
| DMARC | Policy for what receivers should do if SPF or DKIM fails |
| PTR | Reverse DNS — proves your IP maps back to your sending domain |
The installer generates MX, SPF, DKIM, and DMARC guidance. PTR depends on your VPS provider and must be set in their control panel, not your DNS editor.
If any of these are missing or misconfigured, your mail may be sent but land in spam or be silently dropped. This is not a BillionMail limitation — it is how email works for every sender.
Once the stack is running, the BillionMail management UI provides:
This is the layer that makes BillionMail more than a mail server. You get the campaign workflow tools you would expect from a managed marketing platform, but running on your own infrastructure with your own data.
The README advertises unlimited sending. That claim is about the software layer — the software does not impose a sending cap or charge per send. It is not a claim about deliverability.
In reality, whether your mail reaches the inbox depends on factors the software cannot control:
Self-hosting gives you control over the software and the data. It does not buy you a pass past Gmail's spam filters. Plan for warm-up, monitor your bounce and complaint rates, and keep your lists clean.
BillionMail is a good fit if your team has:
BillionMail is not a good fit if you:
For hands-off email marketing, a managed provider remains more practical. The trade is higher recurring cost for less operational responsibility.
BillionMail is a genuine attempt to unify mail server operations and email marketing in one self-hosted stack. The Docker Compose architecture uses real, inspectable components. The campaign features cover the marketing workflow. The installation flow is straightforward for a prepared VPS.
What it does not do is remove the operational reality of sending email. Port 25, PTR, SPF, DKIM, DMARC, IP reputation, warm-up, and abuse handling are still your responsibility. The software gives you the tools. The deliverability is earned.
If you have the operations capacity and want full control over your mail and marketing data, BillionMail is worth trying. If you just want to send campaigns without running a server, stay with a managed provider.