Cart abandonment, product launches, customer win-back. Punchmail handles high-volume e-commerce email on your own server. No monthly fees.
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.
E-commerce businesses live and die by email. Cart abandonment flows recover 5-15% of lost revenue. Welcome series convert browsers to buyers. Post-purchase sequences drive repeat orders. But the platforms that handle e-commerce email well — Klaviyo, Mailchimp, ActiveCampaign — charge $200-500+/month for the privilege. For a business already paying for hosting, inventory, and shipping, that's a painful line item.
The cost problem compounds with list size. E-commerce stores accumulate subscribers fast through checkout, pop-ups, and lead magnets. A healthy store might add 5,000-10,000 subscribers per month. On subscriber-based pricing, your email bill grows even if those subscribers never buy. You're paying to store inactive leads alongside active customers.
Punchmail's segmentation engine is built for e-commerce workflows. Create segments based on subscriber attributes, tags, engagement history, and campaign activity. "Purchased in the last 30 days but hasn't opened the last 3 emails" — that's a re-engagement segment built in seconds. Combined with automation triggers, you can build sophisticated e-commerce flows.
At e-commerce sending volumes — daily order confirmations, weekly campaigns, automated flows running 24/7 — performance matters. Punchmail's multi-queue architecture processes campaigns, automations, and transactional-style emails on separate queues so a large promotional blast doesn't delay your cart abandonment emails.
Trigger-based automation for abandoned carts. Send follow-ups on your schedule, not limited by SaaS sending caps.
Segment by engagement, tags, and activity. Build segments for VIP buyers, at-risk customers, and first-time purchasers.
Daily campaigns, automated flows, and transactional-style emails. Multi-queue architecture ensures nothing gets delayed.
€49 once. Your email costs don't scale with your success. Grow your list to 500K subscribers without your platform bill growing with it.
We're not competing with Mailchimp's marketing budget. We're competing with their feature set.
| Punchmail | Mailchimp | Brevo | Klaviyo | |
|---|---|---|---|---|
| Self-hosted | ✓ | ✗ | ✗ | ✗ |
| Unlimited subscribers | ✓ | ✗ | ✗ | ✗ |
| Automation workflows | ✓ | ✓ | ✓ | ✓ |
| Advanced segmentation | ✓ | ✓ | ✓ | ✓ |
| A/B testing | ✓ | ✓ | ✓ | ✓ |
| Block email editor | ✓ | ✓ | ✓ | ✓ |
| SMTP pools | ✓ | ✗ | ✗ | ✗ |
| ClickHouse analytics | ✓ | ✗ | ✗ | ✗ |
| No monthly fees | ✓ | ✗ | ✗ | ✗ |
| Pricing (50K subs) | €29 once | $350+/mo | $65+/mo | $500+/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.
Our Shopify store was paying Klaviyo $450/month. We moved to Punchmail, wired up the API integration in a weekend, and now spend €49 total. The cart abandonment flows work exactly the same.
Your subscribers. Your data. Your server. One price, forever.