Main features
- Built-in mail server with Postfix, Dovecot and Rspamd spam filtering
- Roundcube webmail
- Sending domains with guided SPF, DKIM and DMARC records and automatic SSL
- Contact groups with CSV import and custom attributes
- HTML or drag-and-drop templates with variables and spintax
- Scheduled campaign tasks with an optional unsubscribe link
- Dashboard with delivery, open and click rates and bounce reasons
- SMTP relay per domain through providers such as Amazon SES, SendGrid or Mailgun
- Several IP addresses bound to sending domains
- API for sending mail
What BillionMail does
BillionMail combines two things that are usually separate: a complete mail server and an email marketing interface. One installation runs Postfix for SMTP, Dovecot for IMAP and POP3, Rspamd for spam filtering and Roundcube for webmail, alongside a Go and Vue application where you manage contact groups, templates and campaign tasks. It is developed by the team behind the aaPanel server control panel.
The campaign workflow is simple. You add a sending domain, and BillionMail shows the SPF, DKIM and DMARC records to publish and issues an SSL certificate. Contacts are organized into groups, imported from CSV and can carry custom attributes. Templates are written in HTML or a drag-and-drop editor and can use variables and spintax. A campaign task combines a sender, a recipient group, a template and a schedule, with an option to add an unsubscribe link. The dashboard reports sent volume, delivery rate, open rate and click-through rate, and lists bounce reasons.
Deliverability and your own mail server
Sending from your own server means you are responsible for IP reputation. BillionMail’s documentation notes that most cloud providers block outbound port 25 by default and that fresh server IPs may already be on blocklists. For those cases you can route a domain’s mail through an SMTP relay such as Amazon SES, SendGrid or Mailgun, one relay per domain. Several IP addresses can be bound to sending domains.
The website promotes the tool for cold outreach with unlimited sending. Whatever the software allows, senders remain responsible for consent and for anti-spam law where their recipients live, and sending to people who did not opt in will damage your domain’s reputation.
Self-hosting BillionMail
BillionMail installs with a shell script, with Docker Compose or as a one-click app inside aaPanel. The documented minimum is a Linux server on amd64 or arm64 with 1 CPU core, 1 GB of RAM and 20 GB of disk, and the mail ports (25, 465, 587, 143, 993, 110 and 995) must be open. The compose stack runs PostgreSQL, Redis, Rspamd, Dovecot, Postfix, Roundcube and the core application. A bm command-line script handles updates, shows DNS records and resets the default login.
Hosted version
There is no hosted service. A public demo instance is available for trying the interface.
Limitations
Running your own mail transfer agent is real work: port 25 restrictions, blocklists and the reputation of your sending IPs all fall on you. The documentation is short and says little about signup forms, double opt-in or automation, so it does not replace the subscriber-facing parts of a newsletter service. The project is young, with copyright from 2025.
Who it suits
BillionMail suits technically confident users who want to own the whole sending chain, from mailbox server to campaigns, and who already know how to manage mail server reputation. Most newsletter senders will have an easier time with an application such as listmonk or Keila connected to an established sending provider.
Technical details
Self-hosting needs
- PostgreSQL
- Redis
- Postfix
- Dovecot
- Rspamd
- Open port 25 or SMTP relay
Built with
- Go
- Vue
GitHub topics
- dovecot
- email-marketing
- mailserver
- newsletter
- newsletters
- postfix
- rspamd
- server
- smtp
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.