Title: Cloudflare + Resend 实现免费邮箱 CreateTime: 2026-03-26 15:43:33 UpdateTime: 2026-03-27 11:40:11 CategoryName: Web --- # 实现原理 ## 思路 Cloudflare 的 Email Routing 功能完全免费, 只要有一个域名, 就能创建无限多的邮箱地址, 全部转发到同一个Gmail邮箱 ## 收邮件链路 别人发到 project@mydomain.com → Cloudflare Email Routing 转发 → xxx@gmail.com 收到 → Gmail Filter 自动按收件地址打标签分类 ## 发邮件链路 Gmail 选择 "Send mail as" → project@mydomain.com → 通过 Resend SMTP 服务器发出 → 对方收到的发件人是 project@mydomain.com → 不进垃圾箱 (SPF/DKIM 记录正确) ## 核心组件一览 | 组件 | 用途 | 费用 | | :--- | :--- | :--- | | Cloudflare Email Routing | 收邮件转发 | 免费 | | Gmail | 邮件客户端 | 免费 | | Resend | 发邮件 SMTP | 免费 (3, 000封/月) | | 你的域名 | 邮箱地址后缀 | ~$10/年 | # 收邮件 —— Cloudflare Email Routing ## 前置条件 你有一个域名 (任何注册商均可) , 域名的 DNS 已托管到 Cloudflare (免费计划就够) ## 开启 Email Routing 登录 Cloudflare Dashboard, 选择你的域名 左侧菜单找到 Email → Email Routing 点击 Get started Cloudflare 会自动配置好 MX 记录. 如果之前有其他 MX 记录, 它会提示你删除. ## 添加目标邮箱 在 Destination addresses 中添加你的 Gmail 地址, Cloudflare 会发一封验证邮件, 点击链接完成验证即可. ## 创建路由规则 ### 方式 A:Catch-all (推荐) 开启 Catch-all, 所有发到 *@mydomain.com 的邮件都转发到你的 Gmail. 你不需要提前创建邮箱地址——随便编一个就能用, 邮件自动到达. ### 逐个手动添加 在 Routing rules 中手动添加每个地址的转发规则, 适合有明确地址列表的场景. ## Gmail Filter 自动分类 邮件都涌到同一个 Gmail 里会乱, 用 Filter 解决: Gmail 搜索栏输入 to:project-a@mydomain.com 点击搜索栏右边的过滤图标 → Create filter 选择 Apply the label → 创建新标签 (如 Project-A) 勾选 Also apply filter to matching conversations 这样每个项目的邮件自动归类, 一目了然. # 发邮件 Resend SMTP + Gmail 收邮件搞定了. 但如果只能收不能发, 别人给 admin@mydomain.com 发邮件, 你回复时发件人却是 admin@gmail.com - 这就很不专业. 为什么不用 Gmail 原生方案? Gmail 自带 Send mail as 功能, 但有致命问题:Gmail 免费 SMTP 发出的邮件, SPF/DKIM 对不上你的域名, 大概率进垃圾箱. 尤其发给企业邮箱时, 基本石沉大海. 为什么选 Resend? 每月 3, 000 封免费, 一人公司完全够用 自动配置 SPF/DKIM, 邮件不进垃圾箱 可直接作为 SMTP 挂载到 Gmail 设置 10 分钟搞定 ## 注册 Resend 并验证域名 [注册Resend](https://resend.com/signup) 账号, 进入 Dashboard → Domains → Add Domain 输入你的域名 (如 mydomain.com) Resend 会给你几条 DNS 记录, 需要去 Cloudflare 添加 ## Cloudflare 添加 DNS 记录 Resend 通常需要添加: 1 条 SPF 记录 (TXT 类型) 几条 DKIM 记录 (TXT 或 CNAME) 去 Cloudflare Dashboard → 你的域名 → DNS → Records, 按 Resend 给的值逐条添加. > 关键注意:SPF 记录合并 > 如果你的域名已经有一条 SPF 记录 (比如 Cloudflare Email Routing 自动添加的) , 不要再加一条新的. 一个域名只能有一条 SPF 记录, 需要把 Resend 的 include: 值合并到现有记录里. > 例如:v=spf1 include:_spf.mx.cloudflare.net include:amazonses.com ~all 添加完 DNS 记录后, 回 Resend 点击 Verify, 通常几分钟内验证通过. ## 生成 Resend API Key Resend Dashboard → API Keys → Create API Key 权限选 Sending access, 限定到你的域名 复制生成的 API Key (只显示一次) 这个 Key 就是 Gmail 配置 SMTP 时的"密码". ## Gmail 配置 Send mail as ![gmail-send-mail-as.jpg](/public/upload/web/cloudflare-resend-gmail/gmail-send-mail-as.jpg) Gmail → Settings → Accounts and Import Send mail as → Add another email address 填写姓名和邮件地址 (如 admin@mydomain.com) , 取消勾选 Treat as an alias 下一步配置 SMTP: | 字段 | 值 | |:----------- |:------------------ | | SMTP Server | `smtp.resend.com` | | Port | `465` | | Username | `resend` | | Password | 你的 Resend API Key | | 安全连接 | SSL | 点击 Add Account Gmail 会发一封验证邮件到该地址——因为已配好 Cloudflare Email Routing, 邮件会转发到你的 Gmail, 点击确认链接即可完成 # 验证 & 实际效果 ## 测试收邮件 用另一个邮箱发一封邮件到 admin@mydomain.com, 确认: Gmail 能正常收到 Gmail Filter 正确打上了标签 ## 测试发邮件 在 Gmail 写新邮件, From 下拉选择 admin@mydomain.com, 发给自己或朋友: 对方正常收到 (不在垃圾箱) 发件人显示为 admin@mydomain.com # 进阶玩法 ## 新项目 1 分钟添加 以后每启动一个新项目: - 收件:如果用了 Catch-all, 这步不需要任何操作 - 发件:去 Gmail Send mail as 加一个新地址 (用同样的 Resend SMTP 配置) - 分类:加一条 Gmail Filter 自动打标签 1 分钟搞定, 零额外成本. ## Gmail Filter 高级用法 除了按 To 地址打标签, 还可以: - 自动标记为已读 (不重要的通知邮件) - 自动归档 (不出现在收件箱) - 自动转发到其他邮箱 ## 配合其他工具 这套邮箱系统可以和很多工具联动: - Newsletter 订阅:用 newsletter@mydomain.com 统一接收, 不污染主邮箱 - 客服邮箱:support@mydomain.com 对外, 背后还是你一个人 - 自动化流程:配合 Zapier/Make 做邮件触发的自动化 总结与展望