Open source, AGPL-3.0
Self-host your newsletter with MailCheap
Run MailCheap on your own server with your own Amazon SES or PostShiba account. You pay your provider for the emails you send, and nothing for the app: no plans, no limits.
Rather not run a server? MailCheap Cloud runs the same code for you, from $19 a month. Get started
- MailCheapFree
- Hosting on VercelFree tier
- MongoDB AtlasFree tier
- Upstash QStashFree tier to start
- 40,000 emails on Amazon SES$4 to $6
The same list on MailCheap Cloud: Growth, $39 a month, sending and support included.
01 · What you need
Services with free tiers, and your email provider
Plan for about an hour, most of it waiting for DNS and for your provider to approve production sending.
| Service | For | Cost |
|---|---|---|
| Contacts, campaigns and stats | Free tier works | |
| Sending | SES: $0.10 to $0.16 per 1,000 emails, depending on its pricing plan. PostShiba: a fixed price per cluster, invite only for now | |
| Background sending and scheduling | Free tier to start, then pay per message. One message sends 50 emails | |
| Hosting, or any Node.js 22 host | Free tier works | |
| Sign-in codes and alerts, or they go through your email provider | Free plan works | |
| Rate limits shared by every server instance | Free tier | |
| Image uploads in the editor and the API | S3 with CloudFront: pay per use. Blob: free tier |
02 · Self-hosted or Cloud
The same app, two ways to run it
MailCheap Cloud is this code with plans and billing on top. Every change to the app ships to both.
| What | Self-hosted | MailCheap Cloud |
|---|---|---|
| Price | Self-hostedFree, plus what your provider charges per email | MailCheap CloudFrom $19 a month for 20,000 emails |
| Sending | Self-hostedYour Amazon SES or PostShiba account, from your domain | MailCheap CloudSet up for you, from hello@<slug>.mailcheap.ai or your domain |
| Website | Self-hosted/archive/<slug> on your server's domain | MailCheap Cloud<slug>.mailcheap.ai, or your own domain |
| Who signs in | Self-hostedThe emails you allow | MailCheap CloudAnyone who signs up |
| Limits | Self-hostedNone | MailCheap CloudEmails a month and active subscribers, by plan |
| Setup | Self-hostedAbout an hour | MailCheap CloudA few minutes |
| Support | Self-hostedNone: you keep it up to date yourself | MailCheap CloudA chat in the dashboard |
03 · Setup
Six steps, in the README
Sending stays off until the last step, so nothing reaches your readers by mistake. Each step's details are in the setup guide.
- 1
Database
Create a free MongoDB Atlas cluster and copy its connection string.
Read the step - 2
Deploy
Click Deploy with Vercel and fill in the database, two secrets, your email and the address sign-in codes come from.
Read the step - 3
Who can sign in
List the emails that can sign in. Each gets an account with up to 3 newsletters.
Read the step - 4
Email provider
Connect Amazon SES or PostShiba, with the events that report deliveries, bounces and complaints.
Read the step - 5
QStash
Add your Upstash QStash keys: they send each batch in the background and run scheduled sends.
Read the step - 6
Turn sending on
Add your domain's DNS records, create your newsletter, set SENDING_ENABLED to true and send yourself a test.
Read the step
04 · Features
Everything MailCheap does, on your server
Self-hosted, you get the whole app, with no plan to pick.
Your AI agent runs it
An MCP server and a REST API do everything the dashboard does, with the same checks and limits.
Write, review, send
An editor with slash commands and images, a review of what to fix before sending, and scheduled sends.
Your list, as it is
Exports from beehiiv, Substack, Mailchimp, Kit and others import with each reader's status and signup date.
A website for each newsletter
Every issue gets a page search engines can find, with a signup form, an author page and a sitemap.
Sending from your domain
The DKIM, return path and DMARC records to add, with a check for each.
Sends that protect your domain
New contacts get an issue in steps, readers who stopped opening get asked once, and invalid addresses stay out.
Moving over
Coming from another self-hosted app?
What each does next to MailCheap, and how to bring your list.
Rather not run a server?
MailCheap Cloud runs the same code for you, with sending, your newsletter's website, updates and a chat with us, from $19 a month.