One Open Source Project a Day (Part 58): BillionMail - Open-Source Mail Server & Email Marketing Platform

Deep dive into BillionMail, the open-source mail server, Newsletter, and email marketing solution — 8 minutes from install to sending, fully self-hosted, no monthly fees, privacy-first, with Docker and aaPanel one-click install

·4 min read·System Design

Introduction

"Billion emails. Any business. Guaranteed."

This is Part 58 of the "One Open Source Project a Day" series. Today's project is BillionMail (GitHub).

Want to self-host a mail server, run a Newsletter, or do email marketing without SaaS fees and data leakage? BillionMail is an open-source mail server + Newsletter + email marketing solution: 8 minutes from install to successful sending, fully self-hosted, no monthly fees, privacy-first. Supports domain setup, DNS verification, free SSL, advanced analytics, contact management, and integrates RoundCube WebMail.

What You'll Learn

  • BillionMail's core capabilities and positioning
  • Three-step flow: install, domain, campaign
  • Installation: script, Docker, aaPanel one-click
  • Comparison with commercial email marketing platforms
  • Management scripts and WebMail

Prerequisites

  • Basic understanding of email (SMTP, DNS)
  • Linux server or Docker environment (optional)

Project Background

Project Overview

BillionMail is an open-source mail server and email marketing platform maintained by the aaPanel team, for businesses and individuals sending newsletters, promotional emails, and transactional messages. It provides full control: domain management, DNS verification, auto SSL, advanced analytics (delivery, open, click rates), contact management, and reusable templates. Fully self-hosted, data stays local, no third-party tracking.

Team

  • Team: aaPanel (aapanel.com)
  • Background: aaPanel is a well-known open-source server panel; BillionMail extends its email ecosystem
  • Website: billionmail.com

Project Data


Core Features

Main Capabilities

CapabilityDescription
Mail serverPostfix, Dovecot, full SMTP/IMAP
NewsletterSubscriber lists, tags, scheduled sending
Email marketingPromotional emails, transactional emails, template management
Advanced analyticsDelivery, open, click rates
Contact managementContacts, lists, tags
WebMailRoundCube integration, access via /roundcube/
Domain & SSLAdd sending domain, DNS verification, auto free SSL

Use Cases

  1. Personal/small-team Newsletter: Blog subscriptions, product updates
  2. E-commerce campaigns: Promotions, coupons, order notifications
  3. SaaS transactional email: Registration, password reset, billing
  4. Full self-hosting: Data stays on your server, privacy and compliance

Quick Start

Script install (~8 minutes):

cd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh

Docker install:

cd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail
cp env_init .env
# Edit .env
docker compose up -d || docker-compose up -d

aaPanel one-click: Log in to aaPanel → Docker → One-click install BillionMail

Three steps to send:

  1. Install: Use any of the methods above
  2. Connect domain: Add sending domain → Verify DNS → Auto SSL
  3. Build campaign: Write or paste email → Choose list & tags → Set send time or send now

Management Scripts

CommandDescription
bm helpManagement help
bm defaultView default login info
bm show-recordShow domain DNS records
bm updateUpdate BillionMail

Project Advantages

ComparisonBillionMailMailchimp/SendGrid etc.Bare Postfix
CostFree, no monthly feesPay per volume/subscriptionFree, manual ops
DataFully self-hostedOn third partySelf-hosted
FeaturesServer + marketing + analyticsMarketing focusSending only
Onboarding~8 minutesSign up and goMulti-component setup
Open sourceAGPL-3.0ClosedComponents open

Deep Dive

Tech Stack

  • Languages: Go 92.1%, Shell 5.1%, HTML, JavaScript
  • Mail components: Postfix, Dovecot, Rspamd
  • Deployment: Docker, docker-compose, Shell install script

Directory Structure

BillionMail/
├── core/              # Core logic
├── conf/              # Config
├── data/              # Data
├── Dockerfiles/       # Docker builds
├── docker-compose.yml
├── install.sh         # Install script
├── update.sh          # Update script
├── bm.sh              # Management script entry
└── env_init           # Env template

Why BillionMail?

  • Fully open source: No hidden costs, no vendor lock-in
  • Advanced analytics: Delivery, open, click metrics
  • Unlimited sending: No send limits
  • Reusable templates: Professional marketing templates
  • Privacy-first: Data stays local, no third-party tracking
  • Self-hosted: Run on your own server, full control

Official Resources

Target Audience

  • Individuals/teams needing self-hosted mail server or Newsletter
  • Users wanting to avoid SaaS fees and keep data in-house
  • aaPanel server administrators
  • Developers needing email marketing, Postfix, Dovecot

Visit my homepage for more useful knowledge and interesting products