Self-hosted newsletter, email marketing and transactional email platform with a visual MJML editor, Liquid templating and seven sending providers.
- Stars
- 1,318
- Forks
- 337
- Open issues
- 15
- Last commit
- yesterday
What is it?
MailCheap is a newsletter app for writing an issue, sending it to a subscriber list, and publishing it as a web archive. Pricing is per email sent: self-hosted, you pay your own Amazon SES or PostShiba account for sending, and the app itself is free. Dormant subscribers are cleaned out of the active list by default, so they do not count toward a paid plan on the hosted MailCheap Cloud service.
The app covers the core newsletter workflow: a block editor, pre-send review checks, scheduled sends, signup forms, a per-newsletter website with an archive and sitemap, and imports from beehiiv, Substack, Mailchimp and several other platforms. Deliverability tooling includes warm-up sending to engaged readers first, bounce and complaint thresholds that pause or block sends, one-click unsubscribe, and Gmail Postmaster Tools integration.
It is built with Next.js and MongoDB, runs on Vercel or any Node.js 22+ host, and exposes a REST API and an MCP server so AI agents can manage campaigns. The code is licensed under AGPL-3.0.
Key features
- 01Write issues in an editor, or send Markdown or HTML through the API and MCP.
- 02Pre-send review checks subject, unsubscribe link, postal address and Gmail's 100 KB clip limit.
- 03Imports subscriber CSVs from beehiiv, Substack, Mailchimp, Kit, MailerLite and others.
- 04Each newsletter gets a website with archive, signup form and sitemap.
- 05Warm-up sending, automatic list cleanup and bounce/complaint thresholds protect sender reputation.
- 06REST API and MCP server let AI agents manage campaigns, with OAuth or API key access.
Use cases
- Running a paid or free newsletter while keeping per-email costs low on Amazon SES.
- Self-hosting a newsletter platform with your own sending domain and data.
- Letting an AI agent draft, review and schedule newsletter issues through MCP.
- Migrating an existing subscriber list from beehiiv, Substack or Mailchimp.
Quick start
- 1
Create a free MongoDB Atlas cluster and copy its connection string
- 2
Click Deploy with Vercel and fill in the required environment variables
- 3
On another Node.js 22+ host, install, build and start the app
npm ci && npm run build && npm start - 4
Open the /signin page on your deployment and sign in with your email
Things to know
- Sending requires an Amazon SES or PostShiba account, plus MongoDB and Upstash QStash.
- Self-hosting comes without support, and issues are turned off on the repository.
- Licensed under AGPL-3.0, a copyleft license that requires sharing modified source code over a network.
In collections
Topics
FAQ
- What is mailcheap?
- Self-hosted or cloud newsletter app that charges you per email sent via Amazon SES rather than per dormant subscriber. MailCheap is a newsletter app for writing an issue, sending it to a subscriber list, and publishing it as a web archive. Pricing is per email sent: self-hosted, you pay your own Amazon SES or PostShiba account for sending, and the app itself is free. Dormant subscribers are cleaned out of the active list by default, so they do not count toward a paid plan on the hosted MailCheap Cloud service.
- Is mailcheap free to use? What license does it have?
- mailcheap is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
- Is mailcheap still maintained?
- Actively maintained. The last commit to mailcheap was on Oct 23, 2026.
- What can I use mailcheap for?
- Running a paid or free newsletter while keeping per-email costs low on Amazon SES. Self-hosting a newsletter platform with your own sending domain and data. Letting an AI agent draft, review and schedule newsletter issues through MCP. Migrating an existing subscriber list from beehiiv, Substack or Mailchimp.
- How do I install mailcheap?
- Create a free MongoDB Atlas cluster and copy its connection string Click Deploy with Vercel and fill in the required environment variables On another Node.js 22+ host, install, build and start the app: npm ci && npm run build && npm start Open the /signin page on your deployment and sign in with your email
- Where can I get mailcheap?
- The source code and installation instructions are on GitHub: https://github.com/marclou/mailcheap
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open source newsletter tool for sending email campaigns and building sign-up forms, an alternative to Mailchimp.
Open-source, self-hostable email platform for transactional emails, marketing campaigns, and workflow automation, positioned as an alternative to SendGrid, Resend, and Mailgun.
Self-hosted newsletter and mailing list manager shipped as a single Go binary, backed by PostgreSQL.
Open source marketing automation software for running multi-channel campaigns, email marketing and contact segmentation on your own server.
A self-hostable service that turns email newsletters into Atom feeds you can read in any feed reader.