利用Cloudflare把你的Gmail改造成企业邮箱,免费专业域名,海外邮件轻松收发
摘要
利用 Cloudflare Email Routing + Gmail 的组合,可把个人域名改造成「看起来像」企业邮箱的免费方案:他人发往域名邮箱的邮件由 Cloudflare 转发进 Gmail,回信时通过 Gmail 的「其他发件地址」+ 应用专用密码以域名身份发出。文章详述收件路由规则配置、Google 两步验证与应用专用密码生成、SMTP 设置,并提醒仅用自定义地址、避免发广告以防封号。
前言
企业邮箱可以使用自己的域名,谈业务显得比较正规,但是免费的企业邮箱国内用着还行,发国外就经常进垃圾箱。但我这种没什么海外业务,偶尔才发个邮件的,付费又不太值当,于是经过各种测试,我现在用 Cloudflare Email Routing + Gmail 的方案,虽然有点草台班子,但是偶尔收发一下还是很好用,分享一下操作方法。
工作原理
并非完整的企业邮箱,邮件存在 Gmail。
Cloudflare Email Routing 可以把别人发到企业邮箱的邮件转进 Gmail。
Gmail 从这个地址回信,所以只是看起来像,没有企业邮箱的专业功能。
关键认知:为什么它"发国外经常进垃圾箱"
这是全文最该先想明白的一点,否则你会一直以为是自己"配置没做对"。问题不在收,在发。
先看这个方案的两半:
环节 | 靠什么实现 | 效果 |
|---|---|---|
收信 | 改 MX 记录指向 Cloudflare | ✅ 完全成立——邮件真的送到了 |
发信 | 借 Gmail 的 SMTP,把发件地址"显示"成你的域名 | ⚠️ 只是"伪装成"你的域名 |
收信这半是实打实的:MX 记录一改,全世界发往 connect@你的域名.com 的邮件都会先到 Cloudflare,再转发到你的 Gmail。这部分没有任何水分。
但发信这半,本质是"借用 Gmail 的信箱替你发"。 邮件实际是从 Google 的服务器出去的,只是信封上写着你的域名。这就撞上了现代反垃圾邮件的核心校验机制——SPF / DKIM / DMARC:
SPF 是一条 DNS 记录,声明"哪些服务器有权代表本域名发信"。此时这条记录指向的是 Cloudflare 的转发服务器,并不包含 Google 的发信服务器;
收件方收到一封"顶着你的域名、实际来自 Google"的信,一查 SPF —— 对不上;
于是它有两种处理:要么判为可疑直接进垃圾箱,要么放行但标注一行 "由 gmail.com 代发"。
所以"发国外经常进垃圾箱"是这个方案的结构性结果,不是配置失误。国内邮箱对这类校验相对宽松,所以你可能感觉"国内还行"——那只是对方没严查。
那怎么才能真正解决? 唯一的办法是让发信服务器也来自一个"你有权代表本域名"的服务。这意味着需要支持自定义域 + 你自己配 SPF/DKIM 的发信服务(比如 Resend、Mailgun、Zeptomail 这类专业发信平台),把它们的记录加进你的 DNS。那时 SPF / DKIM 才能对齐,垃圾箱问题才真正消失。
但那就不是"免费草台班子"了。 所以本篇的定位要摆正:它是一个"能收到、能回信、看起来正规"的轻量方案,不是"海外送达率有保障"的方案。 有真实海外邮件业务,请直接上付费服务。
收件设置
登录 Cloudflare,进入你的域名,打开
电子邮件 -> 电子邮件路由

第一次开通时,Cloudflare 会让你添加或替换邮件相关的
MX和TXT记录。这里要认真看一眼,如果面板提示要删除旧的MX,就代表旧邮箱服务会一起停掉

⚠️ 这一步有个真实的破坏性风险,别一眼扫过。
MX 记录是整个域名只有一份的——它不区分"哪个地址用哪个邮箱"。一旦替换成 Cloudflare 的,这个域名下原有的所有邮箱(包括你正在用的企业邮、以前的免费邮)会全部停止收信。
所以如果你这个域名上还挂着别的邮箱服务:要么先把它迁走或备份,要么用一个专门的子域名来做这套玩法(比如用
mail.你的域名.com而不是主域名)。别在没想清楚的情况下点确认。
开通后,去
路由规则里创建一个自定义地址。比如把connect@你的域名.com转发到yourname@gmail.com

Cloudflare 会往你的 Gmail 发一封验证邮件,点击验证邮件地址

验证完成后,用另一个邮箱发一封测试邮件到你的域名邮箱。

打开 Gmail,可以看到已经收到邮件了

这里有一点要注意,建议关闭
Catch-all 地址,仅用自定义地址,避免收到大量垃圾邮件。
为什么 Catch-all 是垃圾邮件的放大器? Catch-all 的含义是"任何
随便什么@你的域名都收下并转发"。而垃圾邮件发送者是按字典批量猜测地址的——info@、admin@、sales@、noreply@、webmaster@……域名一公开,他们就会把所有常见前缀试一遍。关掉 Catch-all 之后,只有你明确列出的那几个地址能收信,其余一律被拒。这不是"减少垃圾邮件",而是从结构上切断了这条管道。强烈建议保持关闭。
发件设置
开 Google 两步验证,生成应用专用密码 Gmail 不会让你直接拿账号密码去配 SMTP。你要用的是应用专用密码。
打开 Google 账号的安全页,先把两步验证开起来

开完以后,再进入
应用专用密码新建一个密码,名字随便写,比如"域名邮箱"

Google 会给你一串 16 位密码,保存下来

为什么非要"应用专用密码"? 因为 Google 早就关掉了"用账号密码直接登录 SMTP"的通道(这种做法叫"不够安全的应用访问",2022 年起全面停用)。现在的规则是:
账号上必须先开两步验证,才会出现"应用专用密码"这个入口;
生成的那串 16 位密码,是专门给某个客户端用的、可单独撤销的凭据——比把主账号密码交出去安全得多。
顺带说一句,它是可以随时单独吊销的:哪天不想用了、或怀疑泄露,在同一个页面删掉它就行,不用改主密码,也不会影响其它已登录设备。
如果找不到"应用密码"入口,可能的两个原因:
你的账号还没开两步验证
你开了
Advanced Protection,Google 官方说明里明确写了,这种模式下应用专用密码不可用。
在 Gmail 里添加对应的发件域名
打开 Gmail,点右上角设置。

打开
账号和导入

在"用这个地址发送邮件"里点"添加其他电子邮件地址" 名字填你想展示给别人的名字,邮箱填你的域名地址,比如
connect@你的域名.com

视为别名 这个选项,默认保留勾选就行。你本来就是在给同一个人加另一个发件地址。
SMTP 配成下面这样:

如果 465 + SSL 连不上,再试一次 587 + TLS。这是 Google 官方文档里也支持的组合。
这两个组合的区别是什么? 465 是"连接一建立就加密"(隐式 SSL),587 是"先明文握手、再升级为加密"(STARTTLS)。历史上 587 是后来的标准做法,但 Google 两条都支持。家用网络里通常 465 更少被拦截——因为部分运营商会干扰 587 的明文握手阶段。所以"465 连不上就换 587"这句总结背后是有原因的,不是随便试试。
提交后,Gmail 会往你的域名邮箱发一封确认邮件

这封确认邮件会先到 Cloudflare,再转发进你的 Gmail。
点击确认链接,这个发件地址就能用了

顺带体会一下这个回环——这一封验证邮件,正好把我们前面搭的两半都串起来了:Gmail 发给
connect@你的域名→ Cloudflare 收到 → 转发进 Gmail。能收到它,说明收信链路完全正常。所以这一步其实也是个很好的自检。
修改一下设置,直接用收到的邮箱回复

回复邮件时确认是域名邮件,发送测试一下

收到测试邮件,显示没有问题

这套玩法可以推广到"任何 Cloudflare 免费服务"
配完之后你会发现,这个方案的价值不只是一封邮件——它展示了一个很好用的思路:把 Cloudflare 拿到手的域名,和各家的免费服务拼起来。 Cloudflare 的免费能力其实相当丰富,除了 Email Routing,还有一些同样"零成本能跑起来"的服务,比如用 Workers 搭一套自己的密码管理。我写过一篇 无须 NAS,用 Cloudflare 免费搭一个开源密码管理工具,思路和本篇如出一辙:域名 + Cloudflare 免费资源 = 一个能用的自建服务。
值得养成一个习惯:先问"Cloudflare 有没有现成的免费能力",再考虑要不要买服务器。 很多时候答案是有的。
结尾
跑通流程还是很容易的,注意邮件是直接通过 Gmail 发出去的,所以不要发广告,避免账号被封,毕竟现在注册个 Gmail 也很难。这个方法适合临时使用,比如我现在其实只是为了保护 Gmail 地址或国内邮件失效时才使用。如果对海外邮件业务需求高的话,还是买个付费服务吧,据说有些邮箱是可以看到邮件是来自 Gmail 的。
最后把三句提醒收个尾:替换 MX 前先确认域名上没有别的邮箱在用、Catch-all 一律关掉、以及别拿这套方案做认真的海外业务。把它当"低成本的正规外观",它的性价比高得惊人;指望它解决送达率,那就会失望。
