Research · Cost analysis · Living page
Self-hosted email newsletter: what it actually costs in 2026
Short version: The infrastructure bill for AWS SES plus a Listmonk instance on Fly.io runs $8-28 a month, depending on send volume. At 10,000 subscribers sending weekly, the bill is about $12 a month. At 50,000 subscribers, about $28. Those numbers look good until you add the setup cost: plan for several hours of active configuration before the first email reaches an inbox, plus a multi-day wait for SES sandbox exit approval. After launch, expect roughly 2 hours a month managing bounce rates, DMARC reports, and software updates.
The comparison that surprises most developers: Kit's free plan covers up to 10,000 subscribers at $0 a month, with no infrastructure to manage. Self-hosting costs more than a managed free plan for any list under roughly 25,000 subscribers. Above that threshold, the math reverses sharply.
Monthly cost comparison at a glance
The table assumes one send per week (four campaigns a month). AWS SES à la carte at $0.10 per 1,000 emails; Listmonk on Fly.io at $8/month; Kit and beehiiv pricing verified from vendor pages, August 2026. Kit Creator paid-tier pricing at 5,000, 10,000, and 25,000 subscribers is from justpricing.com (updated April 2026), cross-referenced against kit.com/pricing.
| Subscribers | Emails/month | SES fees | Hosting | Self-hosted total | Kit free | Kit Creator | beehiiv Scale |
|---|---|---|---|---|---|---|---|
| 1,000 | 4,000 | $0.40 | $8.00 | $8.40 | $0 | ||
| 5,000 | 20,000 | $2.00 | $8.00 | $10 | $0 | ||
| 10,000 | 40,000 | $4.00 | $8.00 | $12 | $0 (limit of free plan) | ||
| 25,000 | 100,000 | $10 | $8.00 | $18 | n/a — paid required | ||
| 50,000 | 200,000 | $20 | $8.00 | $28 | n/a |
Three findings stand out in the table. First, self-hosting costs more than Kit's free plan for any list under 10,000 subscribers. Second, above 25,000 subscribers, self-hosting undercuts every managed ESP by a wide margin. Third, beehiiv Scale at $49 a month (flat to 100,000 subscribers) closes much of the gap compared to Kit Creator, but self-hosting is still cheaper by $31 a month at 50,000 subscribers.
What the table does not show
The numbers above capture the infrastructure bill only. Two costs are absent.
Setup time (one-time)
Before the first email reaches anyone's inbox, you need an AWS account with SES production access, authentication records in DNS (DKIM, SPF, and DMARC), a running Listmonk instance with its PostgreSQL database, SMTP credentials wired from SES into Listmonk, and a bounce-and-complaint handling pipeline via AWS SNS. For a developer comfortable with cloud infrastructure, the active configuration work is measured in hours, not days. Most of the elapsed time goes to DNS propagation delays and sandbox exit approval from AWS (typically one to three business days) rather than the core configuration itself.
AWS SES starts every new account in sandbox mode, which restricts sending to 200 emails per day to verified addresses only. Getting out of sandbox requires a production access request submitted to AWS; approval generally arrives within one to three business days. That waiting period is part of the setup timeline.
Ongoing monthly ops (recurring)
After launch, the infrastructure runs mostly without attention, but not entirely. DMARC aggregate reports land weekly and are worth reviewing: a failing SPF or DKIM alignment shows up here before AWS flags the account. SES delivers complaint and bounce notifications via SNS, and you need a handler that removes those addresses from Listmonk's subscription list automatically. If complaint rates run high, AWS monitors the account and can pause sending — the thresholds are documented in AWS SES account management resources and subject to change. Listmonk also releases software updates periodically; running an old version is a security risk. Budget roughly 2 hours a month for this work.
The combined cost of setup and ongoing maintenance depends on how you value that time. If you bill your hours, the setup work and 2 hours a month of ops can swamp the infrastructure savings at low subscriber counts. At 25,000 subscribers, the savings versus Kit Creator run roughly $181 a month ($199 minus $18). At 10,000 subscribers the comparison reverses: Kit free is $0, self-hosting is $12 a month plus the ops time.
When self-hosting wins
The math points to a specific profile: a list over 25,000 subscribers, a developer or team already managing cloud infrastructure, and a consistent sending cadence that justifies maintaining the stack.
Self-hosting also wins when you need integration depth that managed ESPs do not offer. Listmonk exposes a REST API with subscriber segmentation, transactional message endpoints, and S3-compatible media storage. If your email list feeds into a custom application and you need more control than a managed ESP's webhook provides, the API flexibility is a real advantage independent of the cost math.
Volume sends amplify the savings further. Sending 500,000 emails a month from SES costs $50 in sending fees. A comparable managed ESP bill at that volume typically runs several hundred dollars or more, depending on the platform. At that scale, even adding a dedicated IP at $24.95 a month, self-hosting is substantially cheaper.
When to use a managed ESP instead
Under 10,000 subscribers, a managed ESP free plan is the less expensive option in money and in time. Kit's free plan supports up to 10,000 subscribers with no monthly fee, includes one basic automation, and requires nothing more than an account signup to start sending. The only cost is the 15 minutes it takes to create the account. Self-hosting at this scale costs $8-12 a month in infrastructure plus the setup time.
Managed ESPs also make sense when deliverability support matters. SES does not offer human support for deliverability problems; if open rates drop because an ISP has listed your IP, you work through documentation and community forums. Kit and MailerLite have support teams and shared IP reputation managed across thousands of senders. For a newsletter where a week of poor inbox placement would visibly damage the business, that support has value the cost table does not show.
If your newsletter earns primarily through affiliate links, note that managed ESP policies apply. Different platforms handle affiliate-first newsletters differently: Kit explicitly permits affiliate links with one restriction (sends cannot be 100% affiliate content); beehiiv prohibits newsletters operated primarily for affiliate marketing. AWS SES imposes no content policy of that kind. But SES does enforce bounce and complaint thresholds; content that generates complaints will cost you the account regardless of who operates the infrastructure.
The infrastructure stack and setup steps
AWS SES handles email sending. Listmonk is the newsletter manager: subscriber lists, campaign editor, analytics, and suppression list. Fly.io or a comparable VPS provider (Hetzner CX23 at roughly $4-6 a month is another common choice) hosts Listmonk. The two connect via SMTP credentials generated in the SES console.
AWS SES offers three pricing plans alongside the à la carte option. The à la carte plan at $0.10 per 1,000 emails is the one most newsletter operators use. The Essentials plan at $0.16 per 1,000 emails and the Pro plan at $0.22 plus $105 a month make sense at high volume with dedicated support requirements. For an independent newsletter at any scale below several million monthly sends, à la carte is the right choice.
| Step | What it involves | Who does it |
|---|---|---|
| AWS account creation | Identity verification, payment method, phone confirmation | HUMAN-ONLY: identity + payment |
| SES sandbox exit request | Submit use-case description via AWS console; wait 1-3 days for approval | AI+HUMAN: account credentials |
| DKIM, SPF, DMARC setup | Add DNS records at your registrar; verify alignment in SES console | AI+HUMAN: DNS credentials |
| Listmonk deploy on Fly.io | flyctl deploy from config; provision PostgreSQL volume | AI-RUN |
| Wire SES SMTP into Listmonk | Enter SMTP host, port, and credentials in Listmonk settings panel | AI-RUN |
| SNS bounce and complaint handling | Configure SNS topic, subscription endpoint, Listmonk webhook | AI+HUMAN: AWS console credentials |
| Test send and inbox placement check | Send to seed addresses; verify DKIM pass and inbox placement | AI-RUN |
Three of the seven setup steps require human involvement for credentials or identity verification. Four run without manual input once accounts exist. On a team already managing cloud infrastructure, the bottleneck is elapsed time — one to three business days for the SES sandbox exit wait — rather than the active configuration work itself.
Sources
AWS SES pricing: aws.amazon.com/ses/pricing, retrieved August 5, 2026. À la carte plan: $0.10 per 1,000 emails. Essentials plan: $0.16 per 1,000 emails (no monthly fee). Pro plan: $0.22 per 1,000 emails plus $105/month. Dedicated IP (Standard): $24.95 per month per IP. Virtual Deliverability Manager add-on: $0.07 per 1,000 emails. Listmonk: listmonk.app, retrieved August 5, 2026 — free and open-source (AGPLv3); single binary; production instance peak RAM 57MB. Fly.io hosting cost: suganthan.com/blog/newsletter-cost-at-scale, May 2026 — Shared CPU 1x VM (256MB RAM), 1GB Postgres, 1GB persistent volume, approximately $8/month. Kit pricing: kit.com/pricing, retrieved August 4, 2026 via Kit affiliate link (we are a Kit affiliate; see disclosure above). Kit Creator at 1,000 subscribers ($39/month, monthly billing) confirmed first-hand from kit.com/pricing, August 2026. Kit Creator pricing at 5,000 ($89/month), 10,000 ($139/month), and 25,000 (approximately $199/month) subscribers: justpricing.com (updated April 2026), cross-referenced against kit.com/pricing. Verify current pricing at kit.com/pricing before deciding. beehiiv Scale pricing: beehiiv.com/pricing, retrieved August 4, 2026 ($49/month flat to 100,000 subscribers, monthly billing).
Affiliate disclosure: the Kit link in this Sources section is an affiliate link. See disclosure at top of page for full terms. We earn nothing from AWS, Listmonk, Fly.io, or beehiiv.