Repolode
marclou

marclou/mailcheap

Self-hosted or cloud newsletter app that charges you per email sent via Amazon SES rather than per dormant subscriber.

Open-source alternative to:beehiivSubstackMailchimp

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. 1

    Create a free MongoDB Atlas cluster and copy its connection string

  2. 2

    Click Deploy with Vercel and fill in the required environment variables

  3. 3

    On another Node.js 22+ host, install, build and start the app

    npm ci && npm run build && npm start
  4. 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