在Cloudflare上部署邮件服务
在Cloudflare上部署邮件服务
Hyin在 Cloudflare 上部署邮件服务
本文介绍如何使用 Cloudflare Worker 及相关服务搭建自己的邮件服务。
前提条件
- 使用 Cloudflare Worker 部署
- Cloudflare 账户上需要有域名
- 本教程使用图形化部署,若需要使用 Github Action 部署,请查看官方文档:https://doc.skymail.ink/
1. 创建项目
1.1 获取源代码
前往 Github,给项目作者点个 Star 并 fork:
https://github.com/maillab/cloud-mail
1.2 创建 Worker 项目
在 Cloudflare Workers 页面,创建新项目,选择“从 Github 导入”方式。
1.3 配置路径
在部署前的配置页面,向下滚动到“路径”设置,将其修改为:/mail-worker
1.4 设置环境变量(必须变量示例)
| 变量名 | 用途说明 |
|---|---|
domain |
邮箱要使用的域名,多域名请用 JSON 数组格式,例如 ["example.com","example2.com"] |
admin |
后台面板的管理员邮箱地址,例如 admin@example.com |
jwt_secret |
JWT 密钥,可以输入一串随机字符串或 UUID,避免使用特殊字符 |
2. 绑定数据库
2.1 创建数据库
在 Cloudflare 控制台中分别创建一个 KV 命名空间 和一个 D1 数据库。
2.2 添加绑定
在 Worker 的“设置” -> “变量”中,添加以下绑定:
- 变量名:
kv,绑定到你创建的 KV 命名空间 - 变量名:
db,绑定到你创建的 D1 数据库
注意:变量名必须为
kv和db。
3. 设置邮件转发
- 进入你要使用的域名管理页面。
- 选择 电子邮件 → 电子邮件路由 → 路由规则。
- 修改并启用 Catch-All 规则,目标选择你刚部署的 Worker 项目。
4. 登录网站
4.1 初始化数据库
在浏览器中访问以下 URL(请替换实际参数):
1 | https://你的worker自定义域/api/init/你的jwt_secret |
4.2 注册管理员账号
- 访问你的 Worker 自定义域名。
- 注册管理员账号并登录。
5. 更新部署
5.1 代码同步
当你从 Github 同步代码后,Worker 会自动更新。
5.2 重新绑定数据库
更新后,原先绑定的数据库可能会丢失,需要重新绑定 db 和 kv。
5.3 更新数据库
访问以下 URL 更新数据库(不会覆盖已有数据):
1 | https://你的worker自定义域/api/init/你的jwt_secret |





