Mautic promises open-source marketing automation. Punchmail delivers it — without the 4-hour setup, memory leaks, and broken upgrades.
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 — tracking, sending, campaigns, automations, bounces, imports, default. Each with dedicated workers via Laravel Horizon.
Campaigns split into 500-subscriber batches. Multiple workers process batches simultaneously. Template compiled once, cached in Redis, reused across all batches.
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.
Redis SETNX locks → MySQL unique index with INSERT IGNORE → job idempotency. Three layers guarantee zero duplicate sends, even during crashes and restarts.
Enterprise email marketing features without the enterprise price tag. Built by someone who's been sending email since before Gmail existed.
Drag-and-drop email builder with 10 block types. Compiles to bulletproof HTML via MJML. Looks perfect in every client — yes, even Outlook.
Nested AND/OR conditions across subscriber fields, tags, engagement history, and campaign activity. "Opened campaign X but didn't click in 90 days" — milliseconds.
Trigger-based workflows with conditions, delays, and actions. Welcome series, re-engagement, cart abandonment. Set it and forget it.
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.
Event tracking powered by ClickHouse. Millions of events, instant queries. Full per-campaign reports and per-subscriber activity timeline.
Test subject lines and content with 2-3 variants. Auto-send the winner based on opens or clicks. Data-driven sending.
IMAP/POP3 mailbox polling plus webhook receivers for SES, Postmark, and SendGrid. Automatic hard/soft classification with configurable thresholds.
Multiple suppression lists with email AND domain blocking. Platform-wide suppression for spamtraps and global unsubscribes. Three-layer dedup prevents duplicate sends.
RFC 8058 one-click unsubscribe (Gmail/Yahoo required), in-body unsubscribe, and full preference center. List-Unsubscribe headers automatic on every send.
Mautic is the project everyone installs with high hopes and abandons three months later. The promise is incredible: open-source marketing automation with email, landing pages, forms, and CRM features. The reality is a resource-hungry PHP application that requires significant DevOps knowledge to keep running reliably.
The email builder in Mautic is functional but dated. Templates break between versions, the drag-and-drop editor is buggy, and rendering consistency across email clients is hit-or-miss. If you've ever lost an hour debugging why your Mautic email looks perfect in the builder but broken in Gmail, you know the pain.
Upgrades are where Mautic really hurts. Major version updates regularly break plugins, custom themes, and integrations. The migration from Mautic 3 to 4 was notorious for data issues. Running Mautic in production means dedicating real engineering time to maintenance, not just email marketing.
Punchmail takes the self-hosted philosophy of Mautic and strips away the complexity. Docker Compose up, and you're running. A block editor that produces bulletproof MJML output. ClickHouse for analytics instead of MySQL queries that grind to a halt at scale. All for a one-time €49 instead of "free but costs you 20 hours a month in maintenance."
Docker Compose up and you're running. No PHP version conflicts, no memory tuning, no Composer dependency hell.
Block-based email editor compiled via MJML. Renders perfectly in every client. No more debugging broken Mautic templates.
ClickHouse handles millions of events with sub-millisecond queries. No more slow MySQL GROUP BY killing your dashboard.
Pull the latest Docker image, restart. No migration scripts, no broken plugins, no three-hour upgrade processes.
We're not competing with Mailchimp's marketing budget. We're competing with their feature set.
| Punchmail | Mautic | Listmonk | Mailchimp | |
|---|---|---|---|---|
| Self-hosted | ✓ | ✓ | ✓ | ✗ |
| Easy setup (< 5 min) | ✓ | ✗ | ✓ | ✓ |
| Block email editor | ✓ | Buggy | ✗ | ✓ |
| Automation workflows | ✓ | ✓ | ✗ | ✓ |
| A/B testing | ✓ | Basic | ✗ | ✓ |
| SMTP pools + warmup | ✓ | ✗ | ✗ | ✗ |
| ClickHouse analytics | ✓ | ✗ | ✗ | ✗ |
| Reliable upgrades | ✓ | ✗ | ✓ | ✓ |
| Low resource usage | ✓ | ✗ | ✓ | ✓ |
| One-time pricing | ✓ | Free | Free | $350+/mo |
No PhD required. If you can copy-paste three commands, you can run Punchmail.
Clone the repo, copy the environment file, set your admin credentials.
git clone https://github.com/punchmail/punchmail && cp .env.example .env
One command spins up all 7 containers — app, database, analytics, queue, cache, email renderer. Done.
docker compose up -d
Add your SMTP provider in settings — Amazon SES, Postmark, your own Postfix, whatever. Create pools, set weights, configure failover.
Import subscribers, build your first campaign with the block editor, hit send. Welcome to email freedom.
No subscriber tiers. No send limits. No "contact sales." Just a price that makes sense.
🚀 Launch price for the first 100 customers. Then €99.
I spent more time maintaining Mautic than actually doing email marketing. The upgrades, the memory issues, the broken templates — I was a sysadmin, not a marketer. Punchmail just works.
Your subscribers. Your data. Your server. One price, forever.