banner
约 1,800 字
6 分钟

利用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 才能对齐,垃圾箱问题才真正消失。

但那就不是"免费草台班子"了。 所以本篇的定位要摆正:它是一个"能收到、能回信、看起来正规"的轻量方案,不是"海外送达率有保障"的方案。 有真实海外邮件业务,请直接上付费服务。

收件设置

  1. 登录 Cloudflare,进入你的域名,打开 电子邮件 -> 电子邮件路由

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

blog image

⚠️ 这一步有个真实的破坏性风险,别一眼扫过。

MX 记录是整个域名只有一份的——它不区分"哪个地址用哪个邮箱"。一旦替换成 Cloudflare 的,这个域名下原有的所有邮箱(包括你正在用的企业邮、以前的免费邮)会全部停止收信。

所以如果你这个域名上还挂着别的邮箱服务:要么先把它迁走或备份,要么用一个专门的子域名来做这套玩法(比如用 mail.你的域名.com 而不是主域名)。别在没想清楚的情况下点确认。

  1. 开通后,去 路由规则 里创建一个自定义地址。比如把 connect@你的域名.com 转发到 yourname@gmail.com

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

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

blog image
  1. 打开 Gmail,可以看到已经收到邮件了

blog image

这里有一点要注意,建议关闭 Catch-all 地址,仅用自定义地址,避免收到大量垃圾邮件。

blog image

为什么 Catch-all 是垃圾邮件的放大器? Catch-all 的含义是"任何 随便什么@你的域名 都收下并转发"。而垃圾邮件发送者是按字典批量猜测地址的——info@、admin@、sales@、noreply@、webmaster@……域名一公开,他们就会把所有常见前缀试一遍。

关掉 Catch-all 之后,只有你明确列出的那几个地址能收信,其余一律被拒。这不是"减少垃圾邮件",而是从结构上切断了这条管道。强烈建议保持关闭。

发件设置

开 Google 两步验证,生成应用专用密码 Gmail 不会让你直接拿账号密码去配 SMTP。你要用的是应用专用密码。

  1. 打开 Google 账号的安全页,先把两步验证开起来

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

blog image
  1. Google 会给你一串 16 位密码,保存下来

blog image

为什么非要"应用专用密码"? 因为 Google 早就关掉了"用账号密码直接登录 SMTP"的通道(这种做法叫"不够安全的应用访问",2022 年起全面停用)。现在的规则是:

  • 账号上必须先开两步验证,才会出现"应用专用密码"这个入口;

  • 生成的那串 16 位密码,是专门给某个客户端用的、可单独撤销的凭据——比把主账号密码交出去安全得多。

顺带说一句,它是可以随时单独吊销的:哪天不想用了、或怀疑泄露,在同一个页面删掉它就行,不用改主密码,也不会影响其它已登录设备。

如果找不到"应用密码"入口,可能的两个原因:

  • 你的账号还没开两步验证

  • 你开了 Advanced Protection,Google 官方说明里明确写了,这种模式下应用专用密码不可用。

在 Gmail 里添加对应的发件域名

  1. 打开 Gmail,点右上角设置。

blog image
  1. 打开 账号和导入

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

blog image

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

  1. SMTP 配成下面这样:

纯文本
SMTP 服务器:smtp.gmail.com
端口:465
用户名:你的 Gmail 完整地址
密码:刚刚生成的 16 位应用专用密码
加密方式:SSL

blog image

如果 465 + SSL 连不上,再试一次 587 + TLS。这是 Google 官方文档里也支持的组合。

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

  1. 提交后,Gmail 会往你的域名邮箱发一封确认邮件

blog image

这封确认邮件会先到 Cloudflare,再转发进你的 Gmail。

  1. 点击确认链接,这个发件地址就能用了

blog image

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

  1. 修改一下设置,直接用收到的邮箱回复

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

blog image
  1. 收到测试邮件,显示没有问题

blog image

这套玩法可以推广到"任何 Cloudflare 免费服务"

配完之后你会发现,这个方案的价值不只是一封邮件——它展示了一个很好用的思路:把 Cloudflare 拿到手的域名,和各家的免费服务拼起来。 Cloudflare 的免费能力其实相当丰富,除了 Email Routing,还有一些同样"零成本能跑起来"的服务,比如用 Workers 搭一套自己的密码管理。我写过一篇 无须 NAS,用 Cloudflare 免费搭一个开源密码管理工具,思路和本篇如出一辙:域名 + Cloudflare 免费资源 = 一个能用的自建服务。

值得养成一个习惯:先问"Cloudflare 有没有现成的免费能力",再考虑要不要买服务器。 很多时候答案是有的。

结尾

跑通流程还是很容易的,注意邮件是直接通过 Gmail 发出去的,所以不要发广告,避免账号被封,毕竟现在注册个 Gmail 也很难。这个方法适合临时使用,比如我现在其实只是为了保护 Gmail 地址或国内邮件失效时才使用。如果对海外邮件业务需求高的话,还是买个付费服务吧,据说有些邮箱是可以看到邮件是来自 Gmail 的。

最后把三句提醒收个尾:替换 MX 前先确认域名上没有别的邮箱在用、Catch-all 一律关掉、以及别拿这套方案做认真的海外业务。把它当"低成本的正规外观",它的性价比高得惊人;指望它解决送达率,那就会失望。

END