Listmonk
Seven million emails from a single binary peaking at 57 MB of RAM: listmonk is a high-performance newsletter and mailing list manager in Go with PostgreSQL as its only dependency - no Redis, no worker processes, no message broker. The project's own production benchmark sent 7+ million emails with the binary peaking around 57 MB of RAM, and throughput exceeds 100K emails per hour on modest hardware. Campaigns run through a multi-threaded, multi-SMTP queue with round-robin delivery, per-server concurrency, retries, and sliding-window rate limiting across providers like Amazon SES, SendGrid, Mailgun, or your own Postfix relay. Subscribers carry custom JSON attributes and are segmented with raw SQL queries, so any audience Postgres can express, listmonk can target. Templates use Go template syntax with 100+ functions for dynamic per-subscriber content, and the Vue dashboard reports opens, clicks, bounces, and unsubscribes with automated bounce processing. A REST API handles transactional email and programmatic control, a built-in media library hosts campaign assets, and CSV or API import migrates lists from hosted platforms. The economics are the headline: where Mailchimp pricing scales with list size, listmonk plus Amazon SES sends the same volume for hosting cost plus roughly $0.10 per thousand emails - commonly a 95% reduction - and your email list, a core business asset, stays on your own infrastructure. AGPLv3-licensed; bring your own SMTP provider for delivery.
SendPortal
SendPortal is a self-hosted email marketing platform for building subscriber lists, sending campaigns, and tracking exactly what happens to every message after it leaves your server. Grow the list three ways: add contacts one by one, import them in bulk from CSV, or push them through the API, which creates or updates subscribers by email address and attaches tags. Tags and custom segments organize audiences, sending product updates to power users and sale announcements to everyone else. A campaign pairs a subject line, which can insert first name, last name, and email placeholders, with an optional HTML template holding content, unsubscribe, and browser view placeholders. Automatic CSS inlining at dispatch keeps designed emails rendering properly in inboxes that ignore style sheets. Send a test email to yourself before anything goes out, then choose immediate delivery or schedule the campaign for later. Pick Queue Draft to review messages before they leave, or Send Automatically when the audience and content are already right. Open and click tracking, bounce records, and unsubscribe events then flow back through provider webhooks into per campaign reports and a searchable message log. Run several brands or clients side by side in separate workspaces inside one interface. Delivery runs through Amazon SES, Postmark, SendGrid, Mailgun, Mailjet, or your own SMTP server, so deliverability stays with providers built for it. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.