Skip to content
Open-source · self-hosted newsletters

Send newsletters on your infrastructure.

Plume is a self-hosted newsletter platform that sends through your own email provider — Amazon SES, Mailgun, SendGrid, and more — at provider cost, not per-subscriber. Own your list, your data, and your stack.

Get startedView on GitHub
~$0.10/ 1,000 emailsbilled at provider cost — never per subscriber
plume · campaign report
Spring product update
Brand: Orbit Labs · List: Subscribers
Sent
Delivered
12,480
Open rate
58.2%
Click rate
9.4%
Bounced
0.3%
Opens over 24hcost: $1.25
Built onGoPostgreSQLReact + TypeScriptSES · SMTPchi · sqlc
Why Plume

Your audience shouldn't cost more every month.

SaaS newsletter tools charge by subscriber count, so your bill grows as your list does — even though sending email is nearly free. Plume flips that.

Own your sending

Mail goes out through your own provider account. Your reputation, your list, your data — no middleman holding it hostage.

Cheap via SES

Amazon SES is about $0.10 per 1,000 emails. Send to 50k subscribers for the price of a coffee.

Truly open source

AGPL-3.0. The self-hosted edition is free forever. Read the code, extend it with hooks, never get locked in.

Single-binary self-host

One static Go binary with the web UI embedded. Run it next to Postgres — no SaaS, no per-seat fees.

Features

Everything you need to run a list, nothing you don't.

Brands & sender identities

Manage multiple from-addresses, reply-tos, and signing domains, each isolated per brand.

Lists & subscribers

Manual add or CSV import with double opt-in. Clean, deduped, and confirmed.

HTML campaign composer

Compose rich HTML campaigns, preview them, and schedule the send.

Bring your own email provider

Amazon SES, Mailgun, SendGrid, Postmark, Resend, or any SMTP server.

Open, click & bounce tracking

Capture opens and clicks on any provider, plus automatic bounce and complaint suppression when sending through SES.

Automatic suppression

Hard bounces and complaints are auto-suppressed when sending through SES, so you protect your sender reputation.

One-click unsubscribe

RFC 8058 list-unsubscribe headers and a one-click flow keep you compliant by default.

Per-campaign reports

Clear breakdowns of delivery, engagement, and cost for every campaign you send.

First-class hook system

Extend behavior on subscribe, send, and report events — no forking required.

How it works

From zero to first send in five steps.

01

Connect your email provider

Paste your SES or SMTP credentials and verify a sending domain.

02

Import

Upload a CSV or add subscribers with double opt-in.

03

Compose

Write your HTML campaign and preview it live.

04

Send

The worker drips mail to your provider within your rate limits.

05

Track

Watch opens, clicks, and cost roll in per campaign.

What it costs

Do the math on your own list.

Drag the slider to your subscriber count, assuming four sends a month. Plume's only sending cost is Amazon SES.

Estimates only — SaaS figures based on typical Standard-tier pricing; SES at $0.10 / 1,000 emails. Add a small server (~$5–10/mo) to self-host.

10,000
1k40,000 emails / mo100k
Typical SaaS
$110
per month
Plume + SES
$4.00
per month, sending
You keep about 96% of that bill.

Calculated with Amazon SES pricing — Plume works with any SMTP provider.

Two ways to run it

Self-host it free. Or let us run it.

Plume is open source and free forever when you host it yourself. Don't want to manage infrastructure? Plume Cloud runs it for you.

RECOMMENDED

Self-hosted

Freeforever

Run the binary next to Postgres. You only pay your email provider for what you send.

Get started
  • Every feature, no limits
  • Your server, your data, your provider
  • AGPL-3.0 · extend with hooks
  • Community support & docs

Plume Cloud

COMING SOON
$19/mo + provider at cost

We host, back up, and monitor it. You bring your email provider credentials and your list.

Join the waitlist
  • Zero infrastructure to manage
  • Automatic backups & updates
  • Connect your provider, keep your data
  • Email support · no lock-in, export anytime

Same open-source Plume either way. Cloud is a managed convenience — never a feature paywall.

Quickstart

Up and running with one command.

Clone, set a few secrets, and bring it up with Docker Compose — then add your email provider credentials in Settings. The binary ships with the UI embedded — nothing else to deploy.

Read the docsStar on GitHub
terminal
# clone and configure
git clone https://github.com/plume-newsletter/plume.git
cd plume && cp .env.example .env

# start Plume, then add your provider credentials (SES or SMTP) in Settings
docker compose up -d

# → UI live at http://localhost:8080
Plume Cloud · coming soon

Want it managed? Join the waitlist.

We'll email you when Plume Cloud opens — hosting, backups, and updates handled, your email provider and your data still yours. No spam, just the launch.

Prefer to own it end-to-end? Self-host for free →

Zero infrastructure to manage
Automatic backups & updates
Your provider, your data — export anytime
Email support from the makers

Own your newsletter. Pay your provider, not a per-seat tax.

Free and open source under AGPL-3.0. Self-host in minutes, keep your data forever.

Get startedView on GitHub