Self-Hosted Newsletter

Your newsletter.
Your server. Your rules.

No platform can shut you down, throttle your sends, or hold your subscribers hostage. Self-hosted newsletter freedom for €49.

terminal
$ git clone https://github.com/punchmail/punchmail
$ cd punchmail && docker compose up -d
# That's it. You're sending.
✓ Punchmail is running at http://localhost

Built by an email deliverability expert with 27 years of experience

0
Monthly fees
Subscribers
Emails / month
1
Price. Forever.
https://your-server.com/dashboard
📊 Dashboard
👥 Subscribers
📋 Lists
📨 Campaigns
🎨 Templates
◇ Segments
⚡ Automations
⚙️ Settings

Dashboard

Subscribers
24,891
↑ 12.3%
Sent (30d)
148K
↑ 8.1%
Open Rate
42.3%
↑ 2.4%
Click Rate
8.7%
↑ 1.1%
Campaign
Status
Sent
Open Rate
Clicks
Black Friday Sale
Sent
24,891
42.3%
2,147
Weekly Newsletter #48
Sent
18,204
38.1%
1,432
Holiday Campaign
Scheduled

An engine built
for serious scale

Punchmail isn't a hobby project with a queue bolted on. It's a multi-layered sending engine designed from day one to handle millions of emails without breaking a sweat.

7
Priority queues with dedicated workers
500
Emails per batch, bulk-inserted in parallel
Dedup layers prevent duplicate sends
<1ms
ClickHouse query time on millions of events
🚀

Multi-Queue Architecture

7 priority queues — tracking, sending, campaigns, automations, bounces, imports, default. Each with dedicated workers via Laravel Horizon.

Parallel Batch Processing

Campaigns split into 500-subscriber batches. Multiple workers process batches simultaneously. Template compiled once, cached in Redis, reused across all batches.

📊

ClickHouse Analytics Engine

Every open, click, bounce, and unsubscribe stored in ClickHouse with 6 materialized views for instant aggregation. No more slow MySQL GROUP BY on millions of rows.

🔒

Atomic Send Protection

Redis SETNX locks → MySQL unique index with INSERT IGNORE → job idempotency. Three layers guarantee zero duplicate sends, even during crashes and restarts.

Theoretical throughput
100K+ emails/hour
Scales linearly by adding worker containers

Everything you need. Nothing you don't.

Enterprise email marketing features without the enterprise price tag. Built by someone who's been sending email since before Gmail existed.

🎨

Block-Based Editor

Drag-and-drop email builder with 10 block types. Compiles to bulletproof HTML via MJML. Looks perfect in every client — yes, even Outlook.

🎯

Power Segmentation

Nested AND/OR conditions across subscriber fields, tags, engagement history, and campaign activity. "Opened campaign X but didn't click in 90 days" — milliseconds.

Automation Engine

Trigger-based workflows with conditions, delays, and actions. Welcome series, re-engagement, cart abandonment. Set it and forget it.

🔌

SMTP Pools

Connect any SMTP provider. Create pools with weighted distribution for IP warmup. Automatic failover. Per-campaign throttling. This is what enterprise ESPs charge thousands for.

📊

ClickHouse Analytics

Event tracking powered by ClickHouse. Millions of events, instant queries. Full per-campaign reports and per-subscriber activity timeline.

🧪

A/B Testing

Test subject lines and content with 2-3 variants. Auto-send the winner based on opens or clicks. Data-driven sending.

🛡️

Bounce Intelligence

IMAP/POP3 mailbox polling plus webhook receivers for SES, Postmark, and SendGrid. Automatic hard/soft classification with configurable thresholds.

🚫

Suppression System

Multiple suppression lists with email AND domain blocking. Platform-wide suppression for spamtraps and global unsubscribes. Three-layer dedup prevents duplicate sends.

📬

Full Compliance

RFC 8058 one-click unsubscribe (Gmail/Yahoo required), in-body unsubscribe, and full preference center. List-Unsubscribe headers automatic on every send.

Your newsletter is your business.
Own the infrastructure.

Newsletter platforms come and go. Revue shut down. Bulletin shut down. Substack takes 10% of your revenue. Beehiiv, ConvertKit, and Ghost are great today — but you're building on someone else's platform. If they change pricing, alter terms, or decide your content isn't welcome, your newsletter is at risk.

Self-hosting your newsletter means nobody can deplatform you. Your subscriber list lives on your server. Your content lives on your server. Your sending infrastructure is yours. If a platform changes direction, you're unaffected. Your newsletter is truly independent — not just in spirit, but in architecture.

The practical advantages go beyond independence. You control your deliverability with your own SMTP servers and IP reputation. You don't share sending infrastructure with other publishers (including spammers). Your analytics data is yours — stored in ClickHouse on your server, not feeding someone else's machine learning models.

Punchmail makes self-hosted newsletters practical. The block editor makes creating beautiful emails fast. Automation handles welcome sequences and drip campaigns. ClickHouse powers instant analytics. SMTP pools with multiple providers ensure reliable delivery. All for €49, running on a $20/month server.

🏰

True Ownership

Subscribers, content, analytics — all on your server. No platform can shut you down or change the terms.

🔌

Deliverability Control

Your own SMTP, your own IP reputation. Don't share infrastructure with millions of other senders.

🎨

Beautiful Newsletters

Block editor with 10 block types. Create professional newsletters as fast as any SaaS platform.

📊

Full Analytics

Opens, clicks, subscriber growth, engagement trends. ClickHouse-powered analytics on your server.

How Punchmail stacks up

We're not competing with Mailchimp's marketing budget. We're competing with their feature set.

Punchmail Listmonk Mailtrain Ghost
Self-hosted
Block email editor
Automation workflows Basic
A/B testing
SMTP pools
ClickHouse analytics
Advanced segmentation Basic Basic Basic
Bounce processing Basic Basic Basic
Suppression lists
One-time pricing Free Free $25+/mo

Frequently Asked Questions

Is self-hosting a newsletter complicated?

+
With Punchmail, it's Docker Compose up on any server with Docker installed. The initial setup takes about 5 minutes. Ongoing maintenance is pulling the latest image and restarting. If you can follow a 4-step guide, you can self-host your newsletter.

What happens if I want to move to a different platform later?

+
Since your data lives in your own database, you can export subscribers, engagement data, and campaign history at any time. You're never locked into Punchmail — that's the whole point of self-hosting.

Can Punchmail handle paid newsletters?

+
Punchmail focuses on sending and managing newsletters, not payments. For paid newsletters, integrate with Stripe or your payment processor to manage subscriptions, and use the Punchmail API to add/remove subscribers to paid lists based on payment status.

How does deliverability compare to hosted platforms?

+
With proper setup (SPF, DKIM, DMARC, warm IP), self-hosted deliverability matches or exceeds hosted platforms. You control your sender reputation independently, and Punchmail's SMTP pools with multiple providers add redundancy. The key advantage: you're not sharing IPs with other senders.

What server do I need to run Punchmail?

+
A VPS with 2+ CPU cores, 4GB+ RAM, and 40GB+ SSD is sufficient for most newsletters (up to ~100K subscribers). Hetzner, DigitalOcean, or Vultr offer suitable servers for $10-30/month.

Up and running in 60 seconds

No PhD required. If you can copy-paste three commands, you can run Punchmail.

1

Clone & configure

Clone the repo, copy the environment file, set your admin credentials.

git clone https://github.com/punchmail/punchmail && cp .env.example .env
2

Launch

One command spins up all 7 containers — app, database, analytics, queue, cache, email renderer. Done.

docker compose up -d
3

Connect your SMTP

Add your SMTP provider in settings — Amazon SES, Postmark, your own Postfix, whatever. Create pools, set weights, configure failover.

4

Start sending

Import subscribers, build your first campaign with the block editor, hit send. Welcome to email freedom.

One price. No limits. Forever.

No subscriber tiers. No send limits. No "contact sales." Just a price that makes sense.

Lifetime License
€199
49
One-time payment. Not per month. Not per year. Once.

🚀 Launch price for the first 100 customers. Then €99.

I watched three newsletter platforms shut down in two years. Each time, creators scrambled to export subscribers and find a new home. I self-host with Punchmail. My newsletter depends on my server, not someone else's business model.

Bram, Creator of Punchmail & email deliverability veteran

Stop renting.
Start owning.

Your subscribers. Your data. Your server. One price, forever.

Get Punchmail → See How It Works