
HY
折腾进行时
Hello, I'm HY.








只需要一个域名,就可以创建无限个的邮箱地址,类似各大邮箱平台的体验。本项目可部署到 Cloudflare Workers,个人 0 服务器成本,搭建属于自己的邮箱服务。
当然,你也能用它来管理不同平台的账号邮箱,把注册邮箱和私人邮箱分开,更加安全,可以完全隐藏自己的真实邮箱
前提条件: 你的域名必须已托管至 Cloudflare(即 NS 服务器指向 Cloudflare)。
之前用 Cloudflare Email Routing + Resend 折腾过一套收发域名邮箱(那篇在这),收件靠路由转发、发件靠 Resend API,能用但功能比较散。
(昨天还想着自己用 WPF 做一个调用 Resend API 的项目呢…今天就发现了更好的开源方案)
整体流程:Fork 仓库 → 创建 Worker → 配置环境变量 → 创建存储资源并绑定 → 设置域名邮件路由 → 初始化数据库 → 注册管理员
首先 Fork 仓库:cloud-mail
然后在 Cloudflare Dashboard 中创建 Worker,选择从 GitHub 导入。
点开 高级设置,将路径设置为
/mail-worker,这一步不要漏掉。

在 Worker 的设置 → 变量和机密中,添加以下环境变量:
| 变量名 | 必需 | 用途 |
|---|---|---|
domain | ✅ | 邮箱域名。多域名用 JSON 数组格式,例如 ["example.com","example2.com"] |
admin | ✅ | 管理员邮箱地址,例如 admin@example.com |
jwt_secret | ✅ | JWT 密钥,随便输入一串字符串即可,不要包含特殊字符 |
⚠️ 建议: 如果你还没有绑定自定义域名到 Worker,推荐先绑定再配置环境变量。绑定域名的方式见优选 IP 那篇文章。

CloudMail 需要三种存储资源,分别用于数据库、缓存和附件存储:
| 资源类型 | 推荐命名 | 用途 |
|---|---|---|
| D1 数据库 | Cloud-mail-DB | 存储邮件数据 |
| KV 存储 | Cloud-mail-KV | 缓存与配置 |
| R2 存储桶 | Cloud-mail-R2 | 邮件附件 |
按推荐名称创建即可,当然你也可以用自己的命名。



创建完成后,回到 Worker 的设置 → 绑定页面,将三个资源全部绑定上去:
⚠️ 绑定的时候变量名必须严格为
db、kv、r2,否则 Worker 无法正确读取。


进入 Cloudflare 的 电子邮件 → 电子邮件路由 页面,将收到的邮件转发到刚才创建的 Worker 项目。
如果你的域名刚托管过来,可能需要先点击启用电子邮件路由,Cloudflare 会自动添加所需的 MX 记录。

在浏览器中访问以下地址来初始化数据库:
1https://你的worker域名/api/init/你的jwt_secret看到浏览器返回 success 即表示初始化成功。
然后直接访问:
1https://你的worker域名/在页面上 注册管理员账号。管理员账号就是你在步骤 2 中设置的 admin 环境变量值。
到这一步,CloudMail 的收件功能就部署完成了 🎉

Cloudflare Workers 本身不支持发邮件(25 端口被封禁),所以我们需要借助第三方发件服务。Resend 提供了免费额度(每月 3000 封),对个人使用来说足够了。
整体流程:注册 Resend → 添加域名并验证 DNS → 创建 API Key → 配置 Webhook 回调 → 填入 Token
前往 Resend 官网 注册账号,然后在控制台中添加你的域名。
添加后,Resend 会提供几条 DNS 记录(SPF、DKIM 等),你需要到 Cloudflare 中添加这些记录来完成域名验证。

在 Resend 控制台的 API Keys 页面创建一个新的 Key,复制保存好,后面要用。

在 Resend 的 Webhooks 页面,添加一个新的 Webhook,用于接收邮件发送状态的回调通知:
https://你的worker域名/api/webhooks

回到 CloudMail 的管理员后台,在设置页面中填入刚才复制的 Resend API Key:

至此,CloudMail 已经完成全部部署。
整个方案几乎不需要服务器,只需要一个托管到 Cloudflare 的域名,就能拥有自己的邮箱系统。
另外,CloudMail 后台还支持将收到的邮件自动转发到自己的真实邮箱,即使不经常登录后台,也不会错过任何新邮件。
过程中遇到问题可以直接在评论区留言,看到都会回复的
文章是摆烂技术站原创,需要转载等用途请联系WeChatOfficialAccount@9ll.uk
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
部分内容可能已过时
分享你的想法,与大家交流讨论