免费域名邮箱新解:Cloud Mail + Brevo,绕开 Resend 的「域名歧视」
|
admin
2026年11月3日 15:41
本文热度 147
|
保姆级图文教程 · 0 元成本 · 免费域名也能搭
拥有一个自己域名的邮箱,好处不用多说:地址体面(名字@你的域名)、想开几个账号开几个、数据攥在自己手里,不用担心哪天平台跑路。更重要的是,如果你的域名本身就是免费领的,再配上 Cloudflare 和 Brevo 的免费额度,整套系统可以做到真正的 0 元运行。网上关于开源项目 Cloud Mail 的教程已经不少,但绝大多数用的发信通道是 Resend。这里有个大坑:Resend 明确拒绝一切免费公共域名,官方原话就是「We don't allow free public domains.」——也就是说,你在 DNSHE 这类平台免费领的域名,在 Resend 那里根本过不了验证,发信这一步直接卡死。本文的解法是换通道:发信改走 Brevo。它不查域名的「出身」,只认 DNS 验证,免费域名一视同仁;免费版每天 300 封额度,不用绑卡。另外,教程配套的代码用的是二次开发版 cloud-mail-plus,在原版基础上补上了原版没有的「真抄送」功能。整个系统长这样:图 1 系统架构:收信、发信两条链路,全部跑在免费额度上图 2 发信通道对比:Resend 拒绝免费域名,Brevo 只认 DNS 验证
准备工作
- 一个域名:最好是已经在手里的;免费领的完全可以(比如在 DNSHE 等平台领的免费域名)。本文全程以 example.com 为例,邮箱入口是 mail.example.com。
- 一个 Cloudflare 账号:免费注册即可。域名的 DNS、数据库、存储、收信转发全用它。
- 一个 Brevo 账号:免费注册。注意:注册邮箱别用 QQ 邮箱,会被拒;用 Outlook、Gmail 等邮箱注册。
- 配套代码:cloud-mail-plus(文末有地址),克隆到本地备用。
图 3 六步总览:先有个全局印象,再跟着一步步做
第一步:把域名托管到 Cloudflare
登录 Cloudflare 后台,选择「添加站点」,输入你的域名(example.com),套餐选免费版。Cloudflare 会分配给你两个 NS 服务器地址,回到域名注册商那边,把域名的 NS 记录改成这两个地址。接下来就是等,一般几十分钟到几小时,Cloudflare 上的站点状态变成「Active(有效)」就说明托管成功。之后这个域名的所有 DNS 记录,都在 Cloudflare 的面板里管理。
第二步:建数据库、部署 Worker
Cloud Mail 的数据分三处存放,先在 Cloudflare 后台把它们建出来:
- R2 存储桶:存邮件附件。建桶时如果提示绑定支付方式,免费额度内使用不扣费,按提示走完即可。
然后把 cloud-mail-plus 的代码克隆到本地,打开其中的 wrangler.toml 配置文件,把里面的占位项换成你自己的:D1 和 KV 的 ID(在后台建好后能看到)、管理员邮箱(比如 admin@example.com)、JWT 密钥(自己生成一串足够长的随机字符串)等。改完执行部署命令,Worker 就上线了。最后给 Worker 绑一个自定义域名 mail.example.com——这就是你以后打开邮箱的地址。
第三步:开启收信(Email Routing)
部署好的邮箱现在还收不到信,需要给域名开收信功能。在 Cloudflare 面板进入你的域名,找到「电子邮件 → Email Routing」,点启用。Cloudflare 会自动帮你把 MX 记录配好,指向 route1 / route2 / route3.mx.cloudflare.net,同时把 SPF、DKIM 等配套记录一并加上,你不用手动填。最关键的一步在规则里:把「全量收信(catch-all)」规则的动作设为「发送到 Worker」,目标选第二步部署的那个 Worker。这样一来,寄到 @example.com 任意地址的邮件,都会被交给邮箱系统处理——哪怕这个地址你还没建账号,也先进系统再说。
第四步:Brevo 注册与域名认证
打开 Brevo 官网注册账号(再次提醒:注册邮箱别用 QQ 邮箱,用 Outlook 等)。登录后进入「发件人、域和专用 IP」相关的设置页(Senders & Domains),添加你的域名 example.com。Brevo 会列出需要你添加的 DNS 记录,一共 4 条。回到 Cloudflare 的 DNS 页面,照着逐条添加:图 4 Brevo 域名认证需要的 4 条 DNS 记录(记录值以 Brevo 后台显示为准)两个小提醒:第一,记录值整段从 Brevo 后台复制,不要手敲,容易错;第二,两条 DKIM 的 CNAME 记录,在 Cloudflare 里要设为「仅 DNS」模式(灰色云朵,不要开代理)。加完回 Brevo 点「验证 / Authenticate」,状态变成已认证(Authenticated),发信资格就到手了。
第五步:放 API Key、建账号
在 Brevo 后台的「SMTP & API」里生成一枚 API Key。然后回到代码目录,用 wrangler secret put BREVO_API_KEY 命令把 Key 放进 Worker 的 Secret 里——注意,密钥只放 Secret,永远不要直接写进代码或提交到仓库。通道不用手动切换。cloud-mail-plus 的发信优先级是写好的:站内直投 > Cloudflare 绑定 > Brevo > Resend。Secret 放好之后,往外部发信会自动走 Brevo。最后打开 mail.example.com,用管理员账号登录,在后台把普通账号建出来——给你自己、家人,或者你的每个 AI 小助手一人一个,都行。▲ 管理后台的用户列表:在这里把普通账号建出来(项目官方演示图)▲ 管理员分析页:收发数量、用户增长一目了然(项目官方演示图)
第六步:发信实测(顺带试试抄送)
用刚建的账号登录,给你的另一个外部邮箱(比如 QQ 邮箱、Gmail)发一封测试信。正常情况几秒钟就到。想看得更实锤,可以去 Brevo 后台的日志(Logs)里查这封信的状态,显示 delivered 就是妥妥送达了。再从外部邮箱回一封,验证收信也没问题,一条完整链路就跑通了。▲ 登录后的收件箱界面,清爽直观(项目官方演示图)▲ 邮件详情页:正文图片、附件列表都齐全(项目官方演示图)然后试一下本版的招牌功能——抄送。写信时你会发现,收件人下面多了一个「抄送」栏,这是原版 Cloud Mail 没有的:图 5 写信界面布局示意:抄送栏为 cloud-mail-plus 新增(程序绘制,非真实截图)在抄送栏里填上另一个人的地址发出去,收件人和抄送人会同时收到;对方点「回复全部」时,原来的抄送人会被自动带上,不用再一个个手动加。还有一个省额度的细节:同域名账号之间互发(比如 a@example.com 发给 b@example.com)是站内直投,不经过 Brevo,不消耗每天 300 封的额度。
额度与注意事项
- Brevo 免费额度 300 封/天:按收件人人头计算:一封信同时发给 3 个人,算 3 封。个人日常使用绰绰有余;站内互发不计入。
- Cloudflare 免费额度:D1 有 5GB、R2 有 10GB。对个人邮箱来说很宽裕,但建议养成定期瞄一眼用量的习惯,别让大附件悄悄撑爆。
- 没有 IMAP / POP:这类网页邮箱方案没有 IMAP / POP 服务,邮件客户端连不上,QQ 邮箱的「代收」功能也用不了,只能在网页端使用。手机上把 mail.example.com「添加到主屏幕」,用起来跟 App 差不多。
- Brevo API Key 注意到期续:API Key 是有有效期的。到期前在 Brevo 后台重新生成一枚,再用同样的方法更新 Worker 的 Secret 即可,别等发不出信了才想起来。
- 安全习惯:API Key 只放 Secret;管理员密码设得强一点;这两个习惯能挡掉绝大多数风险。
懒得自己搭?把这篇文章丢给 AI 就行
再强调一个偷懒的办法:如果你不想一步步自己动手,可以把这篇文章(或文末的配套仓库)直接丢给 Muse 或者其他 AI Agent,让它照着教程帮你把整套邮箱搭起来。你需要做的只有一件事——在它需要的时候,把你的 Cloudflare 账号授权给它(注册 Brevo、填 DNS 记录这些,它都能代劳,遇到必须你本人确认的步骤会停下来问你)。不怕告诉你:本文这套邮箱,本身就是这样由 AI Agent 全程搭好、并实测跑通的。我用的个人 AI 智能体是 Muse:快来看看你的个人 AI 智能体 Muse。在加入后的 48 小时内,通过「设置」兑现我的邀请码,我们就能分别获得 10 亿个 Muse 词元。
邀请码:I7N2V4
https://muse.ai/join
写在最后
一套完全属于自己的域名邮箱,不花服务器钱、不花发信的钱,就这么搭起来了。域名是免费领的也完全不影响使用——绕开的诀窍,就是把发信通道从 Resend 换成 Brevo。
阅读原文:点击这里
该文章在 2026/11/3 15:41:49 编辑过