开源MailCheap自托管部署:用你自己的Amazon SES账号,免费搭一套Newsletter系统
【免费下载链接】mailcheapNewsletters where you pay for the emails you send, not for dormant subscribers, at a fraction of the price of beehiiv and the like. Open source: self-host it, or use mailcheap.ai.项目地址https://gitcode.com/gh_mirrors/mai/mailcheap点击查看免费下载MailCheap 是一个开源的 Newsletter邮件通讯应用写内容、发给订阅者、自动发布成可被搜索引擎收录的独立网站。自托管部署后发送走你自己的Amazon SES 账号只按实际发出的邮件付费——比 beehiiv、Substack 这类按订阅者收费的平台便宜得多代码还是完整开放的。为什么值得自己搭一套传统平台的痛点是你为睡着的订阅者付费。而 MailCheap 的自托管模式是——成本极低SES 约 $0.10–0.16 / 1000 封。1 万读者 × 每月 4 期 ≈ 4 万封一个月只要$4–6完全开源AGPL-3.0整套应用就是这个仓库README.md 本身就是自托管指南没有套餐、没有上限自托管模式下不限邮件数、不限订阅读数每个账号最多 3 个 Newsletter️送达保护内置新域名自动预热、列表自动清理、退订/投诉超阈值自动暂停部署前需要准备什么服务用途费用MongoDB Atlas存订阅者、活动、统计免费档够用Amazon SES实际发送邮件$0.10–0.16 / 1000 封Upstash QStash后台批量发送与定时任务免费档起步Node.js 22 主机运行应用Vercel 免费档即可Resend可选发送登录验证码免费版够用Redis / S3 或 Blob可选跨实例限流 / 编辑器图片上传免费档够用所有可选配置在 .env.example 里都有逐项说明。下面按 6 步完成部署全程约 1 小时大部分时间在等 DNS 生效和 SES 审批。快速上手本地先跑起来本地开发只需 MongoDB可用 Docker 起一个mongodb://127.0.0.1:27017/mailcheap和几个核心变量MONGODB_URImongodb://127.0.0.1:27017/mailcheap BETTER_AUTH_SECRETopenssl rand -base64 48 SUPPRESSION_HASH_KEY另一个随机值同上生成 ADMIN_EMAILSyouexample.com EMAIL_FROMMailCheap loginexample.comgit clone https://gitcode.com/gh_mirrors/mai/mailcheap cd mailcheap npm install cp .env.example .env.local npm run dev本地跑起来时登录验证码会直接打印在服务器控制台[signin] Code for ...开发阶段不用配置任何邮件服务。关键一步Amazon SES 配置详解SES 部分建议用一个全新的 AWS 账号因为 SES 的信誉和发送额度是按账号隔离的别让 Newsletter 影响你其它业务的邮件。申请生产访问权限新账号默认处于沙盒模式每天限 200 封且只能发给已验证地址。在Account dashboard → Request production access中选择 Marketing说明读者是主动订阅的、退订和投诉会自动抑制AWS 通常一天内回复。创建 SNS 事件主题并切换为签名版本 2SHA256aws sns set-topic-attributes \ --topic-arn topic-arn \ --attribute-name SignatureVersion \ --attribute-value 2然后创建 HTTPS 订阅endpoint 填https://你的域名/api/webhooks/ses。应用部署完成后会自动确认订阅送达/退信/投诉事件都会推到这里。 3.创建专用 IAM 用户只授予 MailCheap 需要的 SES 权限发送邮件、管理 tenant / 发信域名 / 配置集并生成 Access Key。权限策略原文见 README.md 的 Amazon SES 小节。 4.添加环境变量后重新部署完整定义见 .env.exampleSES_REGIONus-east-1 SES_ACCESS_KEY_ID你的 key SES_SECRET_ACCESS_KEY你的 secret SES_AWS_ACCOUNT_ID12 位 AWS 账号 ID SES_SNS_TOPIC_ARN主题 ARNMailCheap 会为每个账号自动创建独立的 SES tenant独立域名、独立抑制列表、独立暂停开关互不牵连。所有 AWS 调用都集中在 lib/ses.js 一个文件里——想换成别的邮件提供商只需要动这一层。 如果不用 Resend登录验证码也会通过 SES 发送那么EMAIL_FROM所在域名需要先在 AWS 里完成验证Identities → Create identity → Domain用 Easy DKIM沙盒模式下登录邮箱本身也要先验证。后台发送接入 Upstash QStash批量发送和定时发送都由 QStash 调度在 Upstash 控制台复制QSTASH_TOKEN和两个签名密钥填入后重新部署。QStash 会回调APP_URL/api/jobs/...逐批发信且每批任务都会校验 QStash 签名防止伪造。本地调试可运行npx upstash/qstash-cli dev拿到本地可用的配置。开启发送域名验证与第一封邮件在Domains页面添加发信域名强烈建议用子域名如mail.example.com这样即使某周发送表现差也不牵连主域名的邮件。按页面提示添加 DKIM、return path、DMARC 记录点Check now逐项验证。创建 Newsletter发件地址必须在已验证域名下页脚必须填真实邮政地址反垃圾邮件法规要求。设置SENDING_ENABLEDtrue并重新部署——这是总开关没打开时一封读者邮件都不会发出登录验证码和告警不受影响。先发给自己测试再正式发送。首次发送给新联系人时系统会自动先发 5% 做预热3 小时后若退信/投诉率健康再发其余的。部署完成后的体验打开总览页发送量、送达率、打开率、点击率、退信率、投诉率一屏看全Review步骤会在发送前自动检查主题、预览文本、退订链接、Gmail 的 100 KB 截断限制、邮政地址和发件人还可以从 beehiiv、Substack、Mailchimp、Ghost 等平台的 CSV 直接导入订阅读保留状态和订阅日期。每个 Newsletter 都会自动生成一个带订阅表单的独立网站内置保护机制同样重要列表清理默认开启连续多期未打开的读者会收到一封你还想继续吗确认邮件不再打开则停止发送导入清洗自动剔除无效地址、拼写错误的域名如 gmial.com、spam trap、角色地址、一次性邮箱和重复地址⏸️自动熔断硬退信超过 2% 或投诉超过 0.08% 时暂停发送超过 5% / 0.3% 直接封停该账号发信最佳实践速查实践说明用子域名发送保护主域名信誉坏一周不连累日常邮件完整认证DKIM SPF自定义 return path 根域名 DMARC只发主动订阅的人永不导入购买或抓取的列表保持 confirmed opt-in新域名缓慢放量先发给最活跃的读者几周后逐步扩大盯紧投诉与退信投诉 0.1%、退信 2%Gmail 垃圾率可在/admin连接 Google Postmaster Tools 每日读取控制邮件体积保持 100 KB 以内否则 Gmail 会截断并隐藏退订链接写在最后MailCheap 的自托管门槛不高一个免费 MongoDB 一个 SES 账号 一个免费档 Node 主机约一小时就能上线之后每月只为真正发出的邮件付几美元。核心源码结构在 lib/ 与 models/ 目录完整的环境变量参考见 .env.example逐步部署细节以 README.md 为准。项目采用 AGPL-3.0 开源协议见 LICENSE自由使用、修改若你修改后对外提供服务则需开源你的改动版本。赞分享【免费下载链接】mailcheapNewsletters where you pay for the emails you send, not for dormant subscribers, at a fraction of the price of beehiiv and the like. Open source: self-host it, or use mailcheap.ai.项目地址https://gitcode.com/gh_mirrors/mai/mailcheap点击查看免费下载相关推荐Gradio 应用自托管部署实战用 Disco 一键把应用部署到自己的 Ubuntu 服务器Gradio 应用自托管部署实战用 Disco 一键把应用部署到自己的 Ubuntu 服务器 导读 Gradio 是一个开源的 Python 库只需几行代AI 应用前端后端Happier自托管快速上手一条命令部署你自己的AI Agent中转服务器Happier自托管快速上手一条命令部署你自己的AI Agent中转服务器 Happier 是一款免费开源的 AI Agent 编排客户端覆盖 Web、桌面EasyInvoicePDF自托管部署指南免费开源发票系统本地与服务器搭建完整步骤EasyInvoicePDF自托管部署指南免费开源发票系统本地与服务器搭建完整步骤 EasyInvoicePDF 是一款免费、开源的在线发票生成器无需注册、创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

XML文章系统实现与避坑:存储设计、增删改及并发处理

XML文章系统实现与避坑:存储设计、增删改及并发处理

简介:面向 ASP 初学者的 XML 文章系统 v1.13 源代码资源,演示以 XML 文件为数据库完成文章增删改查、分类管理及回复操作,既适合课堂教学演示,也方便个人博客快速搭建,整体结构亦适合二次开发。压缩包约 88KB&#xff…

2026/10/17 17:42:29 阅读更多 →
智谱 GLM Coding 超值订阅实测:TaoToken 统一 Key 接入 AI 编程套餐的配置与验证

智谱 GLM Coding 超值订阅实测:TaoToken 统一 Key 接入 AI 编程套餐的配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:41:28 阅读更多 →
Claude Code 多模型随时切换:用 TaoToken 统一 Key 与环境变量配置

Claude Code 多模型随时切换:用 TaoToken 统一 Key 与环境变量配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:41:28 阅读更多 →

最新新闻

GEE极端降水指数计算全流程:从CHIRPS数据到R95p趋势分析

GEE极端降水指数计算全流程:从CHIRPS数据到R95p趋势分析

简介:这份资源是一套基于Google Earth Engine(GEE)与NASA GPM IMERG V07数据的极端降水分析代码包,服务于遥感、水文与灾害风险研究场景,也适合有一定GEE基础、希望直接复用降水分析脚本的开发者。代码完整覆盖从研究区…

2026/10/17 20:59:06 阅读更多 →
基于随机森林的贷款审批MATLAB实现与决策树分类系统解析

基于随机森林的贷款审批MATLAB实现与决策树分类系统解析

简介:一份面向机器学习初学者的随机森林模式识别系统设计与实现项目文档,以银行贷款审批为应用场景,解决依据年龄、收入、住房、信用、性别、居住地等七个特征判断是否同意贷款的识别问题。文档系统阐述随机森林算法思想——通过有放回抽样构…

2026/10/17 20:59:06 阅读更多 →
MCP服务创建指南:用TaoToken统一Key打通本地工具链

MCP服务创建指南:用TaoToken统一Key打通本地工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 20:59:06 阅读更多 →
UltraEdit 语法高亮配置文件怎么写:从零定制一门语言的高亮规则

UltraEdit 语法高亮配置文件怎么写:从零定制一门语言的高亮规则

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 20:59:06 阅读更多 →
OpenResearch统一配置指南:Claude Code、Codex、OpenCode与Cursor多工具协同

OpenResearch统一配置指南:Claude Code、Codex、OpenCode与Cursor多工具协同

1. 从“OpenResearch”说起:一个被低估的开发者工具入口第一次看到“OpenResearch”这个词,很多人会下意识以为它是个学术论文检索平台,或者某个开源社区的研究板块。但如果你最近在开发者圈子里混,尤其是关注 Claude Code、Codex…

2026/10/17 20:59:06 阅读更多 →
两台华硕 Ascent GX10 跑本地 Coding Agent,效果怎么样?

两台华硕 Ascent GX10 跑本地 Coding Agent,效果怎么样?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 20:58:05 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →