零成本自建专属域名邮箱:Cloudflare + Worker + Resend 实现无限前缀与全能收发

零成本自建专属域名邮箱教程

拥有一个以自己域名为后缀的专属邮箱(如 admin@yourdomain.comhi@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 发信通道,免费额度充足,送达率极高。

方案亮点

  1. 完全免费:全流程利用各平台免费额度,无需购买云服务器。
  2. 无限前缀:开启 Catch-all 后,任何前缀(如 github@...bank@...)都可以正常接收。
  3. 收发一体:不仅能收信,还能直接在 Web 端或者通过 SMTP 发送带附件的邮件。
  4. 响应迅速:基于 Serverless 边缘网络,邮件通常在 3 秒左右即可落库。

🛠️ 前期准备

  1. 域名一枚:已将 DNS 托管到 Cloudflare
  2. GitHub 账号:用于克隆和部署开源邮件项目 Cloud Mail
  3. Resend 账号:前往 Resend 注册,用于外发邮件。

🚀 实战搭建步骤

第一步:部署 Cloud Mail 后端与存储

  1. 克隆项目:将 Cloud Mail 仓库 Fork 到自己的 GitHub 账号中。
  2. 创建 D1 数据库与 KV 命名空间
    • 在 Cloudflare 控制台进入 Workers 和 Pages -> D1 SQL 数据库,新建数据库(如 cloud-mail-db)。
    • 进入 KV,新建一个命名空间(如 cloud-mail-kv)。
  3. 配置环境变量与部署 Worker
    • 配置 Worker 绑定的 D1(变量名 db)和 KV(变量名 kv)。
    • 添加环境变量:domain(你的域名,如 ["yourdomain.com"])、admin(管理员邮箱,如 admin@yourdomain.com)、jwt_secret(随机字符串)。
    • 绑定自定义域名(如 mail.yourdomain.com)作为访问邮箱的 Web 客户端入口。
  4. 初始化系统:访问 https://mail.yourdomain.com/api/init/你的jwt_secret 完成数据库表初始化。

第二步:配置 Cloudflare 邮件路由 (Email Routing)

  1. 进入 Cloudflare 域名控制台,点击左侧菜单的 电子邮件 (Email Routing)
  2. 按照引导启用 Email Routing,系统会自动添加所需的 MX(如 route1.mx.cloudflare.net)和 SPF TXT 解析记录。
  3. 路由规则 (Routing Rules) 中:
    • 找到 Catch-all 规则,将其动作设置为 发送到 Worker (Send to Worker)
    • 选择刚才部署的 cloud-mail Worker。

提示:这样无论发件人发到你域名的哪个别名前缀,邮件都会自动投递到 Cloud Mail 处理并保存。


第三步:配置 Resend 外发发信认证

为了让发出的邮件不被 Gmail、Outlook 判定为垃圾邮件,必须配置好 DKIM、SPF 和 DMARC:

  1. 登录 Resend 控制台,点击 Add Domain,填入你的主域名。
  2. 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;
  3. 在 Resend 点击 Verify DNS Records,确认所有状态全部变绿(Verified)。
  4. 在 Resend API Keys 中生成一个发信密钥。

第四步:关联发信密钥与系统配置

  1. 打开你的邮箱网站(如 https://mail.yourdomain.com),注册并登录管理员账号。
  2. 进入 系统设置 -> 邮件设置
    • 找到 Resend Token,为你的域名添加刚才生成的 Resend API Key。
    • 自动刷新 设置为 3s5s,这样新邮件到达时页面会自动轮询并弹窗提醒。
  3. 点击右上角写信按钮,向任意外部邮箱(如你的个人 Gmail 或 QQ 邮箱)发送测试邮件,验证发信是否顺畅。

❓ 常见问题排查

  • 为什么刚发出的邮件收件箱没有立刻显示?
    检查系统设置中的“自动刷新”是否开启。Cloud Mail 默认可能处于手动刷新模式,开启 5 秒自动刷新后即可自动同步新邮件。
  • 邮件会被判定为垃圾邮件吗?
    只要严格按照 Resend 指引配置好 DKIM 与 DMARC,主流邮箱服务商对 Resend 节点的信誉评分都很高,进垃圾箱的概率极低。
  • 想在多设备客户端(如手机系统自带邮件、Outlook)中使用怎么办?
    发信可通过 Resend 提供的 SMTP 接口配置(主机:smtp.resend.com,端口:465/587,用户名:resend,密码:API Key);收信可通过 Cloudflare Email Routing 将重要邮件自动转发到个人主力邮箱。