BillionMail: self-hosted mail server and newsletters
An open-source mail server, newsletter and email marketing platform you run on your own server. No monthly fees and no sending limits. What it does, its stars and how to install it.
Saturday, October 31, 2026 · 3 min read · by Cyrus Bitangcol
Mailchimp-style tools charge more as your list grows. BillionMail is the self-hosted alternative: a mail server, newsletter tool and campaign platform in one install, on a server you control.
What is this repo
BillionMail is an open-source mail server plus email marketing platform from the team behind aaPanel. You install it on your own server, connect a domain, and send newsletters, promotions or transactional email from a web dashboard.
| Feature | What you get |
|---|---|
| Campaigns | Write or paste an email, pick a list and tags, send now or schedule it |
| Analytics | Delivery, open and click-through rates per campaign |
| Templates | Reusable marketing templates |
| Domains | DNS records to add, verification, and free SSL set up for you |
| WebMail | RoundCube built in at /roundcube/ |
| Sending | No limit on the number of emails you send |
Running your own mail server means you own deliverability. Use a VPS that allows outbound port 25, and set up SPF, DKIM and DMARC before you send anything (bm show-record lists the records).
How many stars
At the time of writing (31 October 2026) BillionMail has 16,047 GitHub stars and 1,778 forks.
- Language: Go
- License: AGPL-3.0, so it's free to use and change, but if you offer a modified version as a service you must publish your changes
- Latest release: v4.9 (11 December 2025)
- Website: billionmail.com
The last commit was in June 2026, so the project has been quiet for a few months. Check the issues before you rely on it for client mail.
How to install it
1. Get a server
- To do: A Linux VPS with root access
- To do: A domain you can add DNS records to
- To do: Outbound port 25 open (many cloud providers block it until you ask)
2. Run the installer
Going from install to your first sent email takes about eight minutes:
cd /opt && git clone https://github.com/Billionmail/BillionMail && cd BillionMail && bash install.shOr use Docker
Install Docker and the compose plugin first, then edit .env after copying it:
cd /opt && git clone https://github.com/Billionmail/BillionMail && cd BillionMail && cp env_init .env && docker compose up -d || docker-compose up -dIf you already use aaPanel, it's a one-click install under Docker → OneClick install.
3. Connect your domain and send
- Add your sending domain in the dashboard
- Add the DNS records it shows you and verify them
- Let it switch on free SSL, then build your first campaign
Manage it from the terminal
bm help # every command
bm default # default login details
bm show-record # DNS records for your domain
bm update # update BillionMailWorth a look
Try the live demo before you install anything (username and password are both billionmail). Source and issues are on GitHub.
