零成本搭建超强域名邮箱
零成本搭建专属域名邮箱指南
本教程基于开源项目 Cloud Mail,结合 Cloudflare 和 Resend 服务,打造零服务器成本、免维护、功能完善的个人专属域名邮箱系统。
一、 项目核心优势
- 完全免费与零服务器成本:基于 Cloudflare 免费的计算(Workers)和存储资源(D1 / KV),免除服务器租用、宕机及黑客攻击的顾劳。
- 收发一体:突破 Cloudflare 原生仅支持收信的限制,整合 Resend 发信服务,支持无缝收发与回复邮件。
- 多前缀与多域名集中管理:同一个后台可处理同域名下无限个前缀的邮件;支持添加多个不同域名,同时支持开放注册或邀请码注册。
二、 前置准备工作
- 托管于 Cloudflare 的自定义域名(如:
7.edu.kg或自购域名)。 - GitHub 账号(用于 Fork 项目仓库)。
- 清理旧 DNS 记录:若域名此前绑定过其他邮箱服务(如 Hostuno),需先进入 Cloudflare 的 DNS 记录设置中,清空旧的 MX、TXT 等邮箱解析记录。
三、 详细部署步骤
阶段一:项目 Fork 与 Workers 部署
- Fork 仓库:登录 GitHub,找到 Cloud Mail 开源项目仓库,点击右上角 Fork,将代码复制到个人 GitHub 账号下。
- 创建 Worker:
- 登录 Cloudflare 账号,进入“计算” -> “Workers & Pages”。
- 选择 创建应用程序 -> Continue with GitHub。
- 选择刚刚 Fork 的
cloud-mail仓库,点击下一步。 - 展开下方高级设置,将“路径”修改为:
mail/worker。 - 点击 部署,等待部署完成。
阶段二:配置自定义域名与环境变量
- 绑定自定义域名:
- 进入刚刚部署好的 Worker 设置。
- 在域名绑定中添加自定义域名(例如:
mail.7.edu.kg),作为邮箱系统的登录面板网址。 - 添加环境变量:
domain(类型:JSON):填充域名数组,格式如["7.edu.kg"]。admin(类型:文本):设置管理员邮箱地址,如admin@7.edu.kg。JWT_SECRET(类型:文本):设置后台防伪密钥,填写一串长字符(勿含特殊符号)。
阶段三:创建并绑定数据库
系统依赖两种 Cloudflare 免费数据库搭配运行:
- D1 SQL 数据库:作为前台登记簿,存储发件人、时间、主题等元数据,方便快速检索。
- KV 数据库:作为底层大仓库,存储邮件的长正文内容。
- 创建数据库:
- 进入“存储和数据库”,创建一个 D1 SQL 数据库(命名如
cloud-mail)。 - 创建一个 Workers KV 命名空间(命名如
cloud-mail)。 - 在 Worker 中添加绑定:
- 返回 Worker 的“设置” -> “绑定”。
- 添加 KV 绑定:变量名称必须填写小写
KV,选择刚创建的 KV 空间。 - 添加 D1 绑定:变量名称必须填写小写
DB,选择刚创建的 D1 数据库。
阶段四:配置电子邮件路由与 Catch-All 规则
- 启用邮件路由:
- 进入域名管理页,点击“电子邮件” -> “电子邮件路由”。
- 点击“开始使用”,跳过入门指南,选择“启用电子邮件系统”并自动添加 DNS 解析记录。
- 配置 Catch-All 规则:
- 在路由规则中修改 Catch-All 规则。
- 操作选择:发送到 Worker。
- 目标选择:部署好的
Cloud mailWorker。 - 确保开启该规则,使发往该域名的所有前缀邮件均转交 Worker 处理。
阶段五:初始化数据库与管理员注册
- 初始化数据库:
- 在浏览器访问初始化地址:
https://你的面板域名/API/init/你的JWT_SECRET(例:[https://mail.7.edu.kg/API/init/test](https://mail.7.edu.kg/API/init/test))。 - 页面显示
success即代表初始化成功。 - 注册管理员账号:
- 访问面板域名,使用在环境变量中设定的管理员邮箱(如
admin@7.edu.kg)进行注册并设置密码。 - 登录后即可正常接收发送至该域名下任意前缀的邮件。
四、 配置 Resend 实现发信功能
为了使域名邮箱具备对外发信与回复能力,需接入第三方发信服务工具 Resend。
- 注册与域名验证:
- 注册 Resend 账号并完成邮箱验证。
- 在“Domains”页面添加域名。
- 验证方式选择 Auto Config,授权 Cloudflare 自动完成 DNS 校验记录添加,等待状态变为绿色的
verified。 - 获取 API Key:
- 在“API Keys”页面新建 Key,复制并保存生成的 Key(仅显示一次)。
- 设置 Webhook 物流状态通知:
- 在“Webhooks”页面添加 Endpoint URL:
https://你的面板域名/API/webhooks(例:[https://mail.7.edu.kg/API/webhooks](https://mail.7.edu.kg/API/webhooks))。 - 事件类型中仅勾选以下 5 项邮件状态事件:
bounced(退信)complained(被投诉/垃圾邮件)delivered(成功送达)delivery_delayed(发送延迟)failed(发送失败)
- 警告:切勿勾选
clicked和opened,避免因包含追踪探针而被 Gmail 等主流邮箱判定为垃圾邮件。
- 填入 API Key:
- 返回 Cloud Mail 后台,进入“System Settings” -> “Email Settings” -> “Resend”。
- 粘贴 API Key 并保存,即可完成发信功能的配置。
额度说明:Resend 免费套餐单账号支持每天最多发送 100 封邮件、绑定 1 个域名,足以满足个人日常使用。多域名需求可注册多个免费 Resend 账号对应配置 Token。
五、 系统高级设置与补充说明
- 安全与注册控制:
- 个人独享使用时,建议在系统设置中关闭 Sign up 注册开关。
- 若需提供给他人使用,可开启 Invite code(邀请码)功能生成邀请码进行受控注册。
- 界面个性化:
- 支持自定义修改邮箱名称及背景图片。
- Telegram 消息推送:
- 由于无服务器架构不支持传统 IMAP/POP3 协议绑定本地客户端,系统提供 Telegram Bot 推送功能,配置后可实现新邮件实时弹窗提醒。
- 附件与存储扩容:
- 默认 KV 存储:免费额度 1GB(每天 1000 次写入),可存储数万封纯文本邮件。
- R2 对象存储扩容:如需接收大附件,可在系统设置中切换至 Cloudflare R2(免费 10GB 空间及每月 100 万次操作),但开通 R2 需要在 Cloudflare 账号中绑定信用卡。建议前期使用免费 KV 存储,空间不足时再考虑开通 R2。