
想拥有自己的企业邮箱(例如: admin@yourdomain.com ),还能无限创建子邮箱? 不需要服务器、不需要付费
,今天教你用 Cloudflare + 开源项目免费部署一个功能强大的域名邮箱系统。
项目亮点
-
完全免费(基础功能)
-
支持无限别名邮箱
-
自带管理后台
-
可扩展邮件发送功能
-
数据托管在 Cloudflare,速度快且稳定
-
-
一、事前准备
-
一个已托管在 Cloudflare 的域名
-
一个 GitHub 账号
-
cloud-mail 项目
-
(可选)Resend 账号,用于开启邮件发送功能
-
-
二、部署步骤
1. Fork 项目
- 登录 GitHub,找到 cloud-mail 项目并 Fork 到你的账号。
2. 在 Cloudflare 创建 Workers
- 进入 Cloudflare Dashboard
- 选择 Workers 和 Pages → 创建
- 选择 连接到 GitHub,选中你 Fork 的项目 a. 重要:设置生产分支的路径为 /mail-worker
3. 添加自定义域名
在 Worker 的 自定义域 中添加:
- mail.你的域名.com
4. 设置环境变量
进入 Worker ** 设置 → 环境变量 ** ,添加以下变量:
变量名 | 类型 | 值
---|---|---
` domain ` | JSON | ` ["你托管在cloudflare上的域名"] `
` admin ` | 文本 | ` admin@你的域名.com `
` jwt_secret ` | 文本 | 推荐使用 UUID 或高强度随机字符串
5. 创建并绑定数据库
- 在 cloudflare中 左侧 → 存储和数据库 中: 创建 D1 数据库,名称随意 创建 KV 命名空间,名称随意
- 在Workers中 绑定两个数据库 绑定 D1 数据库,绑定名称设为 db(小写) 绑定 KV 数据库,绑定名称设为 kv(小写)
6. 配置邮件路由(Catch-all)
- 进入域名 → 电子邮件 → 电子邮件路由 → 跳过入门指南 → 启用电子邮件路由 → 添加保存 → 启用
- 编辑 Catch-all 地址
- 操作选择「发送到 Workers」,选中你创建的 Workers
- 保存并设为 活动 状态
三、初始化与注册
初始化数据库
在浏览器访问: https://mail.你的域名.com/api/init/你的jwt_secret
显示 success 即初始化成功。
注册管理员账号
- 访问 https://mail.你的域名.com
- 点击「注册」
- 使用环境变量中设置的管理员邮箱注册并登录
四、开启邮件发送功能(Resend 配置)
- 登录 Resend
- Domains → 添加你的域名并完成验证 填写域名即可,地区可以不用管
- 添加dns记录,自动添加,授权待显示为绿色的verified即可
- 创建 API Key 并复制 仅显示一次,错过需重新创建
- 添加 Webhooks: URL:https://mail.你的域名.com/api/webhooks 勾选:email.bounced退信、email.complained被投诉成垃圾邮件、email.delivered发送成功、email.delivered_delayed延迟发送、email.failed发送失败
- 回到邮箱管理系统后台 → 系统设置 → 粘贴 Resend Token
五、使用建议与注意事项
-
Resend 免费版有发送量限制,超出可更换其他 SMTP 服务
-
支持创建多个账号,适合个人或小型团队使用
-
-
部署完成! 现在你拥有了一个真正属于自己的企业邮箱系统。
扫码访问小程序中的本文
