零成本搭建超强域名邮箱配置笔记

基于 Cloud Mail + Cloudflare + Resend 方案

本项目具有完全开源免费、免服务器与免维护的特点。它巧妙结合了 Cloudflare 的计算与存储资源,并整合第三方的 Resend 发信服务,实现了在同一后台内对单一或多个域名下无限前缀邮件的统一收发管理。


前置准备

  1. 一个属于自己的域名:需要将域名的 DNS 解析托管至 Cloudflare。
  2. GitHub 账号:用于克隆和部署开源项目代码。
  3. 清理旧记录(可选):如果域名此前绑定过其他邮箱服务,需前往 Cloudflare 的 DNS 记录中,将旧的 MX、TXT 等邮箱相关记录删除干净。

第一步:Fork 项目与部署 Worker

  1. Fork 仓库:登录 GitHub 账号,打开开源项目 cloud-mail 的 GitHub 仓库页面,点击右上角的 Fork,将项目复制到个人的 GitHub 账号下。
  2. 创建 Worker
  3. 登录 Cloudflare 控制台,在账户主页(不进入具体域名)左侧菜单点击 计算 -> Workers 和 Pages -> 创建应用程序
  4. 选择 使用 GitHub 部署 (Continue with GitHub),授权并选择刚刚 Fork 的 cloud-mail 仓库,点击下一步。
  5. 修改高级设置:在部署页面的底部展开 高级设置 (Advanced settings),在“路径”一栏中必须输入 mail-worker,其余保持默认,点击 部署

第二步:配置环境变变量与自定义域名

部署完成后,进入该 Worker 的设置页面进行如下配置:

  1. 绑定自定义域名
  2. Cloudflare 默认分配的 .workers.dev 域名在国内访问不便且较长。
  3. 在 Worker 的“触发器”或相关域名绑定设置中,点击 添加自定义域。例如输入 mail.yourdomain.comyourdomain.com 替换为你的主域名),点击添加。
  4. 添加环境变量(进入 Worker 的 设置 -> 变量和机密):
  5. domain:类型选择 JSON。值必须带英文中括号和双引号,格式为 ["yourdomain.com"](若有多域名,可在数组内逗号隔开)。
  6. admin:类型为 文本。输入你希望指定的管理员邮箱前缀或全称,例如 admin@yourdomain.com
  7. JWT_SECRET:类型为 文本。输入一段自定义的复杂英文或数字,作为后台的防伪钥匙(切勿使用特殊符号),例如 mysecretkey123

第三步:创建并绑定数据库

该系统需要两个免费的数据库:D1(类似前台登记簿,存发件人、时间和主题)和 KV(类似大仓库,存长篇邮件正文)。

  1. 创建数据库
  2. 在 Cloudflare 左侧菜单找到 存储和数据库 -> D1 SQL 数据库,点击创建,名称可自定义(如 cloud-mail)。
  3. 接着点击 Workers KV,点击右上角创建命名空间,名称同样自定义(如 cloud-mail)。
  4. 在 Worker 中添加绑定
  5. 回到刚刚部署的 Worker 页面,点击 设置 -> 绑定 -> 添加绑定
  6. 添加 KV 空间绑定:变量名称必须输入小写 kv,下拉菜单选择刚刚创建的 KV 命名空间。
  7. 添加 D1 数据库绑定:变量名称必须输入小写 db,下拉菜单选择刚刚创建的 D1 数据库。

第四步:配置 Cloudflare 电子邮件路由

  1. 回到 Cloudflare 账户主页,点进你要配置的具体域名中。
  2. 左侧菜单点击 电子邮件 -> 电子邮件路由 -> 开始使用(若有入门指南可直接点击右下角跳过)。
  3. 点击 启用电子邮件系统,选择 添加记录并启用。Cloudflare 会全自动在你的 DNS 中添加接收邮件所需的 MX 等记录。
  4. 设置路由规则:在 Catch-all 规则 处点击编辑。将操作设置为 发送到 Worker,目标选择在第一步创建的 cloud-mail Worker,点击保存并确保激活状态开启。
  5. 注:开启 Catch-all 意味着发往该域名下任何前缀的邮件都会被转发到你的 Worker 中处理。

第五步:后台初始化与注册

  1. 数据库初始化:在浏览器地址栏输入你绑定的自定义邮箱域名,并拼接初始化路径:
    [https://mail.yourdomain.com/api/init/你的JWT_SECRET]
    (例如:[https://mail.yourdomain.com/api/init/mysecretkey123])。
  2. 页面显示 success 即代表数据库初始化成功。
  3. 注册管理员:直接访问你的域名 [https://mail.yourdomain.com](https://mail.yourdomain.com),进入美观的邮箱界面。点击注册(Sign up),用户名输入第二步设置的 admin 变量前缀(如 admin),设置密码完成注册并登录。
  4. 接收测试:此时邮箱已具备收信功能。可以通过其他邮箱向 admin@yourdomain.com 发送邮件测试。也可以在后台点击新添邮箱前缀(如 seven),利用 Catch-all 特性瞬间拥有新身份并正常收信。

第六步:配置 Resend 实现发信功能

由于 Cloudflare 原生仅支持收信,发信需要借助第三方专业代发工具 Resend,以防邮件进入他人的垃圾箱。

  1. 注册 Resend:去 Resend 官网免费注册账号并完成邮箱验证登录。
  2. 添加并验证域名
  3. 在 Resend 左侧菜单点击 Domains -> Add Domain,输入你的主域名。
  4. 在 DNS 验证页面,强烈建议选择 Auto config (自动添加),系统会自动跳转至 Cloudflare 提示授权,点击授权即可全自动配置复杂的 DNS 记录。
  5. 等待状态从橙色的 Pending 变成绿色的 Verified(已验证)。
  6. 获取 API 密钥:点击左侧 API Keys -> Create API Key。生成的 Key 是一次性的,必须立即复制并保存好
  7. 配置 Webhooks(物流状态实时通知)
  8. 点击左侧 Webhooks -> Add webhook endpoint
  9. Endpoint URL 必须严格填写:[https://mail.yourdomain.com/api/webhooks/resend](https://mail.yourdomain.com/api/webhooks/resend)(请替换为你自己的邮箱后台域名,注意大小写)。
  10. 事件类别 (Events):在 email 大类下只勾选以下5个状态:bounced (退信)、complained (被投诉/标为垃圾邮件)、delivered (成功送达)、delivery_delayed (发送延迟)、failed (发送失败)。
  11. 警告:切勿勾选 clickedopened,否则邮件内会被加入追踪探针,极易被 Gmail 等大厂判定为垃圾邮件。
  12. 回填密钥:回到你的 cloud-mail 邮箱网页后台,点击 System Settings -> Email Settings,找到 Resend 区域点击加号,将复制的 API Key 粘贴进去并保存。

日常使用与进阶说明

  • 发信方法:在后台发信时,在左侧选中你想使用的邮箱前缀身份,然后点击上方的新建邮件按钮,系统会自动以该邮箱作为发件人。
  • 免费额度限制:Resend 免费账户每天最多可发信 100封,且只能绑定一个域名,对个人日常沟通或接收验证码绰绰有余。
  • 安全性建议:在后台的 System Settings 中:
  • Sign up (注册控制):如果仅个人使用,强烈建议关闭注册开关,防止他人恶意注册。
  • Invite code (邀请码):若想分享给亲友,可开启此功能生成专属邀请码进行安全注册。
  • 个性化定制 (Customization):可以更改邮箱在界面的显示名称,并更换背景图。
  • 电报推送 (Telegram Notification):由于该免服务器架构天生不支持 IMAP/POP3 协议(无法直接绑定手机自带邮件 App 或 Outlook),作者开发了 Telegram 推送功能。配置后,新邮件会实时通过 Telegram 机器人弹出提醒,具体可参考官方文档。
  • 容量与 R2 存储说明:默认的免费 KV 数据库提供 1GB 存储空间,存纯文本验证码能存数万封。若平时接收大附件导致空间不够,系统支持切换为 Cloudflare R2 对象存储(每月免费 10GB 空间),但开通 R2 需在 Cloudflare 绑定信用卡。建议新手前期先使用完全免绑卡的 KV 空间。

标签: none

添加新评论