marclou/mailcheap

效率与系统工具

按发送量而非订阅数计费的开源 Newsletter 应用,适合想离开 beehiiv、Substack 且愿意自己处理发信基础设施的作者。

1,391
364
JavaScript
AGPL-3.0
上线 14 天

一个可以自托管的 Newsletter 应用,成本按实际发出的邮件计,而不是按名单人数计。已经掌握发信基础设施、希望整条链路在自己手里的人值得认真试;只想让别人负责送达率的人则不适合。

解决什么问题

一个有 1 万读者的作者,即使大多数人几个月没打开过邮件,也要按全部订阅者向平台付费。想换平台,又得手工重建归档、注册表单和导入状态,或者接受另一份按订阅者计费的账单。MailCheap 改的是这一步:beehiiv、Substack、Mailchimp 等平台的 CSV 导出可以原样导入,保留每位读者的状态和注册时间,再通过自己的 Amazon SES 或 PostShiba 账户发信。最后得到的是:一期内容可以撰写、审阅、发送、发布成网页并推送,价格跟着服务商的发送量走,而不是跟着平台的订阅人数走。

有什么不同

它的机制刻意做得很薄。仪表盘里的每个操作,同时也以 MCP 工具和 REST API 调用的形式存在,检查与限制相同,因此 AI agent 可以起草、审阅并触发发送。MCP 把发送标记为不可撤销操作,agent 发信前会先问你。每个 Newsletter 都自带网站:云端版给一个免费的 <slug>.mailcheap.ai 子域,自托管则在自家服务器的 /archive/<slug>,每期都有可被抓取的页面,还有注册表单和 sitemap。

取舍主要体现在送达率上。MailCheap 为每个账户在服务商那边创建独立租户,各有自己的域名、抑制名单和暂停开关,并引导你配置 DKIM、return path 和 DMARC,还逐条检查记录。原来由平台承担的工作,现在转移到了你身上:DNS 记录写错或服务商事件配错,就是你自己的问题,而不是客服工单。发送前的检查会核对主题、预览文本、退订链接、Gmail 100 KB 截断限制、邮寄地址和发件人,能挡住常见错误,但不会让名单本身变干净。

谁值得试

适合:本来就懂技术、已经在用或愿意学 Amazon SES 的作者;希望归档和注册页放在自己域名下;比起每月按订阅档位付费,更愿意按每千封 $0.10–0.16 付费。自托管还支持一台服务器上多个账户,每人最多 3 个 Newsletter,没有账单系统。

不适合:离开原平台的主要目的就是不想再操心邮件基础设施的人。云端版正是为这类人准备的,迁移前最该看的是它的套餐限制(每月邮件数和活跃订阅者数)。偶尔发一次信的独立作者,用托管服务可能更省时间。

使用条件与边界

自托管需要 Node.js 22 或更高版本、一个 MongoDB 数据库、Vercel 之类的主机,以及用于后台发送和定时的 Upstash QStash(一条 QStash 消息发 50 封邮件),再加一个 SES 或 PostShiba 发信账户。SES 新账户默认在沙箱里,每天只能向已验证的收件人发 200 封,直到 AWS 批准生产权限;README 建议单独开一个 AWS 账户,因为信誉和限额是按账户计算的。PostShiba 目前仅限邀请,所以自托管实际上主要走 SES。

两个密钥需要小心处理。BETTER_AUTH_SECRET 用于签名会话和已发出邮件里的链接:轮换它会让所有人退出登录,并让那些链接失效。SUPPRESSION_HASH_KEY 是共享的永不发送名单的哈希密钥,必须是另一个值;改动它会清空该名单。登录只允许 ADMIN_EMAILS 和 ALLOWED_EMAILS 中的地址与域名;两个都为空时没人能登录。AGPL-3.0 许可要求:如果你修改后给别人用,需要向他们提供你这一版的源码。安装步骤见项目 README和 API 文档。

HotRepo 点评

HotRepo 首次记录这个仓库是在 2026-10-24,距创建 14 天,当时共 1,391 颗星,在 JavaScript 新项目榜上排第 9——这只是新仓库的一次快照,不是单日增长。没有可比的每日榜单历史,因此仅凭 HotRepo 信号还无法判断热度能否延续。在把名单迁过来之前,先确认 SES 的生产权限申请流程,以及 README 里说只需配置一次的服务商事件设置。

Hacker News 讨论

本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。