AB
AiBoss站
project

mailcheap - 按发送量计费的新闻通讯自托管应用

mailcheap 是一个新闻通讯(newsletter)应用,由 marclou 维护,采用 AGPL-3.0 许可。据项目自述,它支持在仪表盘、REST API 与 AI agent(经 MCP)中撰写、审核并发送邮件,也可自托管并接入自己的 Amazon SES 或 PostShiba 账号。

mailcheap 是一个新闻通讯(newsletter)应用:写一期内容、发送给订阅列表、再发布到网页上。据项目自述,这些操作既可以在仪表盘里完成,也可以通过 AI agent 或代码完成。它面向的是希望自己掌握订阅者名单与发送成本的运营者——项目在 README 中把定位概括为「为你发出的邮件付费,而不是为沉睡的订阅者付费」,并称其价格只是同类产品的零头。仓库由 marclou 维护,采用 AGPL-3.0 许可,代码即整个应用,可自托管,也可使用运行同一份代码的 MailCheap Cloud。

维护者与状态

仓库地址为 marclou/mailcheap,维护者为 marclou。仓库创建于 2026-10-10,最后一次提交在 2026-10-26。截至 2026-10-26,项目尚无正式 release,星标数为 1477。也就是说,目前没有可引用的版本号或发布说明,使用者只能直接跟进仓库主分支的代码状态。

主要能力

以下内容均据项目 README 自述,未经独立验证:

  • 三种操作入口,同一套校验。仪表盘能做的事,AI agent 通过 MCP server 也能做,代码通过 REST API 同样能做,且共用相同的检查与限制。README 称 ChatGPT、Claude 与 Grok Bot 通过 OAuth 连接,Claude Code、Codex 与 Cursor 通过 API key 连接;MCP 把「发送」标记为不可撤销操作,因此 agent 会先向你确认。
  • 撰写与发送前审核。编辑器支持斜杠命令、图片与区块,也可通过 API 与 MCP 直接提交 Markdown 或完整 HTML 邮件。审核环节会提示主题、预览文本、退订链接、Gmail 的 100 KB 截断、邮寄地址、发件人等问题,然后可立即发送、定时发送,或先发给互动最多的读者、之后再扩大范围。
  • 订阅者导入。据项目说明,beehiiv、Substack、Mailchimp 的 CSV 导出可原样导入,并保留每位读者的状态与注册日期;Kit、MailerLite、Buttondown、Ghost、EmailOctopus 的导出同样支持。
  • 每份通讯一个网站。在 MailCheap Cloud 上可用免费子域名,在自托管服务器上则位于 /archive/ 路径下;每期内容都有可被搜索引擎收录的页面,并带订阅表单、作者页、分享图与 sitemap。
  • 用自己的域名发信。README 称会给出需要添加的 DKIM、return path 与 DMARC 记录,并逐项检查。
  • 送达率保护。项目自述内置多项机制:对从未发过信的联系人分步发送(先随机 2%,再 5%,其余部分,间隔 30 分钟,期间观察退信与投诉);默认开启的列表清理,对长期不打开的读者发一封「还想继续收吗」的邮件后停止发送;导入时剔除无效、拼写错误、spam trap、角色邮箱、一次性邮箱与重复地址;全服务器共享一份「永不发送」名单,仅保留键控哈希;硬退信超过 2% 或投诉超过 0.08% 时暂停发送,超过 5% 或 0.3% 时封禁账号;每封邮件带 Feedback-ID 以接入 Gmail 反馈回路,管理员连接 Google Postmaster Tools 后每日读取;每封邮件含符合 RFC 8058 的一键退订与签名退订链接,并默认开启确认订阅。
  • 多份通讯与统计。每个账号最多 3 份通讯,各自拥有联系人、campaign 与网站;提供订阅表单与订阅 API、欢迎邮件、排除链接扫描器的打开与点击追踪、订阅者增长曲线,以及按收件服务商(Gmail、Outlook、Yahoo、iCloud 等)划分的报告。

使用入口

代码仓库位于 marclou/mailcheap,产品站点为 mailcheap.ai。据 README,自托管大致需要一小时,其中大部分时间用于等待 DNS 生效与发信服务商批准生产权限。所需组件包括:MongoDB(存联系人、campaign 与统计)、Amazon SES 或 PostShiba(发信)、Upstash QStash(后台发送与定时)、Vercel 或任意 Node.js 22+ 主机(托管);Resend、Upstash Redis、Amazon S3 配 CloudFront 或 Vercel Blob 为可选项,分别用于登录验证码与告警、跨实例共享限流、编辑器图片上传。README 说明,没有 Redis 时限流只在单个实例内存中计数,部署后会重置;没有 S3 或 Blob 时图片上传关闭,但 HTML 与 Markdown 邮件仍可使用外链图片。

配置通过环境变量完成,README 点名了几个关键项:MONGODB_URI、BETTER_AUTH_SECRET(32 位以上随机字符,否则服务拒绝启动)、SUPPRESSION_HASH_KEY(同样 32 位以上,且不得与前者相同)、ADMIN_EMAILS、ALLOWED_EMAILS、EMAIL_FROM、APP_URL,以及 SENDING_ENABLED——只有设为 true 时才会真正向读者发信。仓库中的 .env.example 列出了全部变量及其作用。

许可与限制

项目采用 AGPL-3.0 许可。README 说明,MailCheap Cloud 就是本仓库加上 MAILCHEAP_CLOUD=true,额外提供开放注册、套餐与 Stripe 计费;其营销站点(落地页、定价页与法律页)不在开源范围内。自托管不提供支持:据项目说明,issues 处于关闭状态,安装问题不会得到答复。自托管本身免费,但需自行承担发信服务商按量计费的成本;README 举例称 Amazon SES 每千封约 0.10 至 0.16 美元。此外,自托管没有套餐层面的邮件量与活跃订阅者上限,登录权限由 ADMIN_EMAILS 与 ALLOWED_EMAILS 控制。