项目核心优势
- 零成本:无需购买服务器,完全使用 Cloudflare 免费资源
- 无限邮箱前缀:支持任意前缀(如
hello、work、github等)@你的域名 - 多域名统一管理:一个后台管理多个自定义域名
- 完整收发:接收邮件 + 通过 Resend 发送邮件(支持附件、内嵌图片)
- 实时通知:新邮件 Telegram 机器人推送
- 其他功能:响应式 Web 界面、开放注册或邀请制、后台管理
一、前期准备
1. 注册必要账号
- Cloudflare 账号(必须):https://dash.cloudflare.com
建议将域名 NS 服务器指向 Cloudflare(便于管理 DNS 和 Email Routing)。 - 自定义域名(必需):推荐使用 Spaceship 等平台购买低价域名。
- Resend 账号(用于发送邮件):https://resend.com
注意:免费版有发送额度限制,一个账号通常只支持验证一个域名。
2. 准备事项
- 确保域名已在 Cloudflare 中托管(NS 已切换)。
- 准备好 Telegram 账号(可选,用于推送)。
- 浏览器推荐使用 Chrome 或 Edge。
注意:Cloudflare Workers、D1 数据库、KV 在免费额度内完全够个人日常使用。
二、部署 Cloudflare Worker
推荐部署方式(适合小白)
- 访问 GitHub 项目:https://github.com/maillab/cloud-mail
- 点击右上角 Fork,Fork 到自己的 GitHub 账号。
- 登录 Cloudflare Dashboard → Workers & Pages → Create application → Workers。
- 选择 Connect to Git,授权 GitHub 并选中你 Fork 的仓库。
- 重要配置:
- 项目目录:选择
mail-worker文件夹 - 项目名称:自定义(如
mymail或cloud-mail)
- 项目目录:选择
- 点击 Deploy,等待部署完成。
部署成功后,你会获得一个 Worker 地址,例如:https://mymail.你的用户名.workers.dev
三、创建并绑定数据库
Cloud Mail 使用 Cloudflare D1(SQLite)和 KV 存储。
详细步骤:
创建 D1 数据库:
- Cloudflare Dashboard 左侧 → D1 → Create database
- 数据库名称建议与 Worker 同名(如
cloud-mail) - 创建完成后,复制 Database ID
创建 KV Namespace:
- 左侧菜单 → KV → Create namespace
- 名称随意(如
cloud-mail-kv),复制 Namespace ID
绑定到 Worker:
- 进入你的 Worker → Settings → Variables & Secrets
- D1 Databases 绑定:
- Variable name:
DB - 选择刚创建的 D1 数据库
- Variable name:
- KV Namespaces 绑定:
- Variable name:
KV - 选择刚创建的 KV Namespace
- Variable name:
保存后,点击 Deploy 重新部署 Worker。
四、设置电子邮件路由(Email Routing)
这是实现无限前缀收件的关键步骤。
- 进入你的域名 → Email → Email Routing
- 首次使用需点击 Enable Email Routing 并完成域名验证(添加 TXT 记录)。
- 配置 Catch-all 地址(强烈推荐):
- 进入 Routing Rules → Catch-all address
- 编辑 → Send to a Worker
- 选择你部署的 Cloud Mail Worker
- 保存规则。
效果:任何发送到 任意前缀@你的域名.com 的邮件都会被路由到 Worker 处理。
注意:DNS 记录传播可能需要几分钟到几小时,请耐心等待。
五、初始化及接收邮件测试
- 在浏览器访问你的 Worker 地址,进入 Web 邮箱界面。
- 第一次访问会进入初始化向导:
- 设置 管理员邮箱(例如
admin@你的域名.com) - 设置 JWT_SECRET(生成一串随机复杂字符串,建议使用密码管理器)
- 设置 管理员邮箱(例如
- 初始化完成后,使用管理员邮箱登录。
- 测试接收:
- 用 Gmail 等其他邮箱发送测试邮件到
test@你的域名.com或任意前缀。 - 刷新 Web 界面,检查是否能正常显示邮件(支持附件查看)。
- 用 Gmail 等其他邮箱发送测试邮件到
常见问题排查:
- 收不到邮件 → 检查 Email Routing 是否正确指向 Worker,检查 DNS 是否生效。
- Worker 报错 → 查看 Cloudflare Workers Logs。
六、配置邮件发送(Resend)
- 登录 https://resend.com,添加并验证你的域名(需在 Cloudflare DNS 添加 DKIM、SPF、DMARC 记录)。
- 创建 API Key 并复制保存。
- 在 Cloud Mail 后台系统设置 中粘贴 Resend API Key。
- 配置发送回调(Webhook)地址(具体路径参考官方文档)。
- 测试发送:
- 在 Web 界面撰写新邮件,发送到外部邮箱(Gmail、Outlook 等)。
- 检查是否正常送达,以及附件和内嵌图片是否正常。
提升送达率建议:
- 正确完成域名验证(DKIM/SPF 非常重要)
- 避免短时间内大量发送
- Resend 免费额度用完可考虑升级
七、后台设置与高阶玩法
登录管理员账号后,可进行以下设置:
- 用户管理:
- 开启/关闭开放注册
- 生成邀请码(推荐生产环境使用邀请制,安全性更高)
- 多域名管理:添加其他域名并统一管理
- Telegram 推送:
- 通过 @BotFather 创建机器人,获取 Bot Token
- 获取你的 Telegram Chat ID
- 在系统设置中填入,实现新邮件实时通知
- 界面个性化:修改站点标题、Logo 等
- 安全设置:定期更换 JWT_SECRET 等
高阶用法:
- 为不同用途创建独立前缀(如
dev@、shop@、personal@) - 邀请家人或小团队共同使用
- 绑定自定义域名访问 Web 邮箱(更美观专业)
八、注意事项与常见问题
- 免费额度:个人轻度使用通常不会超出 Cloudflare 免费额度。
- 备份建议:重要邮件定期导出,D1 数据库可通过 Cloudflare 导出。
- 安全性:不要公开管理员邮箱;生产环境建议关闭开放注册。
- 常见错误:
- JWT_SECRET 不匹配 → 重新初始化或检查环境变量
- 邮件进垃圾箱 → 检查 DKIM/SPF 配置
- 发送失败 → 确认 Resend API Key 和域名验证是否通过
九、推荐资源
- 官方部署文档(最推荐):https://doc.skymail.ink/
- GitHub 仓库:https://github.com/maillab/cloud-mail
一句话总结:这是目前零成本自建域名邮箱中最完整、易用的方案之一,适合个人、开发者及小团队使用。