大家好,我是 Mliaomcx。平时我们在折腾各类 VPS、搭建测试环境,或者进行全栈开发(比如部署 Vue3 项目环境)时,往往需要注册大量第三方服务和测试账号。拥有一个以自己域名结尾的专属邮箱(如 hi@yourdomain.com)不仅是个人品牌的象征,更是完美隔离数据、保护主力邮箱隐私的“注册神器”。
传统的域名邮箱要么需要高昂的订阅费,要么得在自己的服务器上费时费力地配置环境。今天,我将分享一套完全免费、零服务器成本、免维护的 Serverless 域名邮箱搭建方案。借助网络大善人 Cloudflare 和开源项目 Cloud Mail,我们不仅能实现无限前缀收信,还能结合 Resend 实现无缝发信,把多域名全部整合进一个漂亮的后台统一管理!
💡 为什么选择这套方案?
- 完全免费:充分利用 Cloudflare 的 Serverless 计算和存储资源,零服务器月租。
- 无限前缀 (Catch-all):任意前缀的邮件都能收到,临时注册毫无压力。
- 自带精美 UI 面板:无缝收发、多域名管理,操作体验媲美专业企业邮。
- 极高安全性:无需担心服务器宕机或遭遇黑客攻击,省钱又省心。
🛠️ 前置准备工作
在正式动手之前,请确保你已经准备好以下资源:
- 专属域名:必须已托管至 Cloudflare。
- (注意:如果该域名之前绑定过第三方邮箱平台,请务必先进入 Cloudflare 的 DNS 记录中,将旧的 MX 等相关记录彻底删除。)
- GitHub 账号:用于拉取开源项目代码。
- Resend 账号:用于后续提供发信 API。
🚀 第一阶段:部署 Cloud Mail 核心后台
我们将使用 Cloud Mail,这是一个功能极其强大的开源邮件客户端项目,直接运行在 Cloudflare Workers 上。
1. Fork 官方项目代码
首先,打开浏览器登录 GitHub,访问 Cloud Mail 的官方开源仓库: 👉 https://github.com/maillab/cloud-mail 点击右上角的 Fork,将项目代码复制到你自己的 GitHub 账号下。
2. 创建并部署 Worker
回到 Cloudflare 后台(不要选中任何域名),在左侧菜单点击 Workers 和 Pages -> 创建应用程序 -> 创建 Worker。
- 点击 Continue with GitHub(继续使用 GitHub)。
- 授权登录后,选择你刚才 Fork 的
cloud-mail仓库。 - ⚠️ 关键设置:下拉找到“高级设置”,必须将「路径」修改为
mail-worker,其余保持默认。点击部署,稍等几分钟等待代码拉取完成。
3. 绑定自定义域名
由于 Cloudflare 默认提供的 workers.dev 域名在国内访问受限,我们需要绑定自己的域名。
- 在 Worker 设置页面,点击 触发器 -> 添加自定义域。
- 输入如
mail.你的域名.com,点击添加。这将是你未来登录邮箱后台的网址。
4. 设置环境变量
在 Worker 的 设置 -> 变量和机密 中,添加以下三个变量:
domain(类型选 JSON):填入你的域名,格式必须为["你的域名.com"](注意英文双引号和中括号)。admin(类型选 文本):设置一个你的管理员邮箱,例如admin@你的域名.com。JWT_SECRET(类型选 文本):后台的防伪密钥,随便输入一段较长的英文字母或数字(不要带特殊符号)。
🗄️ 第二阶段:配置 Serverless 数据库
Cloud Mail 巧妙地利用了 CF 的免费数据库资源:D1 SQL 数据库负责登记邮件头信息,KV 命名空间则充当存储邮件正文的大仓库。
1. 创建数据库
- 在 Cloudflare 左侧菜单找到 存储和数据库。
- 创建一个 D1 SQL 数据库,命名为
cloud-mail-db。 - 创建一个 Workers KV 命名空间,命名为
cloud-mail-kv。
2. 将数据库绑定到 Worker
回到刚才部署的 Cloud Mail Worker,进入 设置 -> 绑定:
- 添加 KV 命名空间绑定:变量名称必须填小写
kv,然后选择刚建的 KV 空间。 - 添加 D1 数据库绑定:变量名称必须填小写
db,然后选择刚建的 D1 数据库。
📬 第三阶段:设置电子邮件路由 (收信)
- 回到 Cloudflare 主页,点击进入你的主域名。
- 在左侧菜单点击 电子邮件 -> 电子邮件路由,点击启用。系统会自动为你补全接信所需的 DNS 记录。
- 设置 Catch-all 规则:在规则编辑中,操作选择 发送到 Worker,目标选择你刚才建好的 Cloud Mail Worker,并确保状态处于“开启”。
- 完成这一步,发给该域名的所有邮件就已经可以被你的系统接收了!
🌐 第四阶段:初始化系统与账号注册
- 执行初始化:在浏览器地址栏输入以下链接进行数据库初始化:
https://mail.你的域名.com/api/setup/你的JWT_SECRET(将最后一部分替换为你之前设置的 JWT_SECRET)。页面显示success即代表成功。 - 注册管理员:删掉地址栏后缀,直接访问
https://mail.你的域名.com。使用你配置的admin邮箱注册账号并设置密码。登录后,你就可以看到极简美观的收件箱了。
📤 第五阶段:接入 Resend 突破发信限制
Cloudflare 原生只负责“收”,要回复邮件或往外发信,我们需要配置第三方代发服务 Resend。
1. 配置 Resend 域名
- 前往 Resend 官网 免费注册账号。
- 在左侧
Domains菜单中添加你的域名,强烈建议选择 Auto config (自动配置),授权它自动向你的 Cloudflare 写入发信 DNS 记录。 - 状态变为绿色的
Verified即代表验证成功。
2. 生成 API Key 并配置 Webhooks
- 在左侧
API keys里生成一把全新的 Key,请立刻复制保存(关掉后将无法再次查看)。 - 在左侧
Webhooks添加端点,URL 填写:https://mail.你的域名.com/api/webhooks - 事件类别勾选:
Bounced、Complained、Delivered、Delivery delayed、Failed。 (⚠️ 避坑警告:千万不要勾选 Clicked 和 Opened,否则很容易被大厂的安全系统判定为垃圾邮件。)
3. 在后台激活发信
- 回到你的 Cloud Mail 网页后台。
- 进入
System Settings -> Email,在 Resend 选项处点击加号,填入刚刚复制的 API Key 并保存。 - 大功告成!现在你已经可以自由回复和发送邮件了。
💡 进阶使用建议 (SEO 优化 Tips)
搭建完成后,为了系统的长期稳定和安全,建议你做以下调整:
- 关闭公共注册:如果是个人私用,强烈建议在后台的
System Settings中关闭Sign up开关。如果需要给朋友开账号,可以使用下方的Invite code生成邀请码。 - 额度说明:Resend 免费版每天提供 100 封发信额度;Cloudflare KV 免费版提供 1GB 存储,存放几万封普通验证码邮件绰绰有余。
- 支持大附件:如果后期你用它来接发大容量附件导致 KV 空间不足,可以在设置中无缝切换至 Cloudflare R2 对象存储(每月 10GB 免费空间),满足更高阶的需求。
希望这篇保姆级教程能帮你顺利拿下属于自己的顶级域名邮箱!如果在实操过程中遇到任何卡壳的地方,欢迎在下方评论区留言讨论。
文章分类:效率工具 / Web 部署教程 核心标签:域名邮箱, Cloudflare Workers, Serverless, Resend, Cloud Mail, 零成本建站, 隐私保护