零成本自建专属域名邮箱:Cloudflare + Worker + Resend 实现无限前缀与全能收发
零成本自建专属域名邮箱:Cloudflare + Worker + Resend 实现无限前缀与全能收发
yuto零成本自建专属域名邮箱教程
拥有一个以自己域名为后缀的专属邮箱(如 admin@yourdomain.com、hi@yourdomain.com)不仅显得专业,还能在注册不同平台服务时提供极高的隐私隔离度。
传统方案要么购买昂贵的企业邮箱服务(如 Google Workspace 约 $7/人/月),要么自己租用 VPS 搭建邮件服务器(配置繁琐且容易进垃圾箱)。本文介绍一套零服务器成本、免维护、支持无限别名、能收能发的现代化域名邮箱方案:Cloud Mail + Cloudflare + Resend。
💡 方案架构与优势
整个系统的分工非常清晰:
- Cloudflare Email Routing(收件):将发往你域名的所有邮件(Catch-all)无缝路由给 Cloudflare Worker。
- Cloud Mail(前端/存储/管理):开源 Web 邮件系统,运行在 Cloudflare Workers 上,使用免费的 D1(数据库)和 KV(缓存)存储邮件。
- Resend(发信):提供高信誉度的 SMTP/API 发信通道,免费额度充足,送达率极高。
方案亮点
- 完全免费:全流程利用各平台免费额度,无需购买云服务器。
- 无限前缀:开启 Catch-all 后,任何前缀(如
github@...、bank@...)都可以正常接收。 - 收发一体:不仅能收信,还能直接在 Web 端或者通过 SMTP 发送带附件的邮件。
- 响应迅速:基于 Serverless 边缘网络,邮件通常在 3 秒左右即可落库。
🛠️ 前期准备
- 域名一枚:已将 DNS 托管到 Cloudflare。
- GitHub 账号:用于克隆和部署开源邮件项目 Cloud Mail。
- Resend 账号:前往 Resend 注册,用于外发邮件。
🚀 实战搭建步骤
第一步:部署 Cloud Mail 后端与存储
- 克隆项目:将 Cloud Mail 仓库 Fork 到自己的 GitHub 账号中。
- 创建 D1 数据库与 KV 命名空间:
- 在 Cloudflare 控制台进入 Workers 和 Pages -> D1 SQL 数据库,新建数据库(如
cloud-mail-db)。 - 进入 KV,新建一个命名空间(如
cloud-mail-kv)。
- 在 Cloudflare 控制台进入 Workers 和 Pages -> D1 SQL 数据库,新建数据库(如
- 配置环境变量与部署 Worker:
- 配置 Worker 绑定的 D1(变量名
db)和 KV(变量名kv)。 - 添加环境变量:
domain(你的域名,如["yourdomain.com"])、admin(管理员邮箱,如admin@yourdomain.com)、jwt_secret(随机字符串)。 - 绑定自定义域名(如
mail.yourdomain.com)作为访问邮箱的 Web 客户端入口。
- 配置 Worker 绑定的 D1(变量名
- 初始化系统:访问
https://mail.yourdomain.com/api/init/你的jwt_secret完成数据库表初始化。
第二步:配置 Cloudflare 邮件路由 (Email Routing)
- 进入 Cloudflare 域名控制台,点击左侧菜单的 电子邮件 (Email Routing)。
- 按照引导启用 Email Routing,系统会自动添加所需的 MX(如
route1.mx.cloudflare.net)和 SPF TXT 解析记录。 - 在 路由规则 (Routing Rules) 中:
- 找到 Catch-all 规则,将其动作设置为 发送到 Worker (Send to Worker)。
- 选择刚才部署的
cloud-mailWorker。
提示:这样无论发件人发到你域名的哪个别名前缀,邮件都会自动投递到 Cloud Mail 处理并保存。
第三步:配置 Resend 外发发信认证
为了让发出的邮件不被 Gmail、Outlook 判定为垃圾邮件,必须配置好 DKIM、SPF 和 DMARC:
- 登录 Resend 控制台,点击 Add Domain,填入你的主域名。
- Resend 会给出几条 DNS 记录,前往 Cloudflare DNS 控制台依次添加:
- DKIM (TXT):名称
resend._domainkey,值为 Resend 提供的公钥。 - MAIL FROM SPF (MX & TXT):名称
send,MX 指向 amazonses 节点,TXT 为v=spf1 include:amazonses.com ~all。 - DMARC (TXT):名称
_dmarc,值为v=DMARC1; p=none;。
- DKIM (TXT):名称
- 在 Resend 点击 Verify DNS Records,确认所有状态全部变绿(Verified)。
- 在 Resend API Keys 中生成一个发信密钥。
第四步:关联发信密钥与系统配置
- 打开你的邮箱网站(如
https://mail.yourdomain.com),注册并登录管理员账号。 - 进入 系统设置 -> 邮件设置:
- 找到 Resend Token,为你的域名添加刚才生成的 Resend API Key。
- 将 自动刷新 设置为
3s或5s,这样新邮件到达时页面会自动轮询并弹窗提醒。
- 点击右上角写信按钮,向任意外部邮箱(如你的个人 Gmail 或 QQ 邮箱)发送测试邮件,验证发信是否顺畅。
❓ 常见问题排查
- 为什么刚发出的邮件收件箱没有立刻显示?
检查系统设置中的“自动刷新”是否开启。Cloud Mail 默认可能处于手动刷新模式,开启 5 秒自动刷新后即可自动同步新邮件。 - 邮件会被判定为垃圾邮件吗?
只要严格按照 Resend 指引配置好 DKIM 与 DMARC,主流邮箱服务商对 Resend 节点的信誉评分都很高,进垃圾箱的概率极低。 - 想在多设备客户端(如手机系统自带邮件、Outlook)中使用怎么办?
发信可通过 Resend 提供的 SMTP 接口配置(主机:smtp.resend.com,端口:465/587,用户名:resend,密码:API Key);收信可通过 Cloudflare Email Routing 将重要邮件自动转发到个人主力邮箱。




