全部文章

Cloudflare 域名邮箱:Gmail 免费接收自定义域名邮件

在 Gmail 中使用自定义域名(也就是用上自己的域名邮箱),并不需要付费购买 Google Workspace。把域名的 DNS(域名解析)迁到 Cloudflare,然后开启 Cloudflare Email Routing(邮件路由):它会把你指定的地址收到的邮件免费转发到你的 Gmail 收件箱;如果使用 catch-all 规则(发往域名任何地址的邮件都进入同一个邮箱),所有地址的邮件都会转过去。域名本身仍要花钱:在 Cloudflare 这类按成本价销售的注册商处,一个 .com 每年约 US$10 至 US$11(截至 2026 年 9 月),在其他地方往往更贵。用免费版 Gmail 以你的域名发信的做法即将终止:Google 将于 2027 年 1 月取消针对第三方地址的“用这个地址发送邮件”功能。

下文的菜单路径和数字已于 2026 年 9 月 25 日对照 Google 和 Cloudflare 的文档核实。如果你用这种方式给每个网站一个单独的地址,CatchNone 可以在 iPhone、iPad 和 Mac 上读取这个 Gmail 收件箱,并告诉你每封邮件送达的是哪个地址。

Gmail 使用自定义域名:简要步骤

  1. 让你的域名使用 Cloudflare DNS。
  2. 在 Cloudflare 中,前往 Compute(计算)> Email Service(邮件服务)> Email Routing,然后选择 Onboard Domain(添加域名)。
  3. 在 Destination Addresses(目标地址)下添加你的 Gmail 地址,然后在 Cloudflare 发来的邮件中选择 Verify email address(验证电子邮件地址)。
  4. 在 Routing Rules(路由规则)下,为每个地址各添加一条规则,或者打开 Catch-all rule(catch-all 规则),操作设为 Send to an email(发送到电子邮件地址),并选择你的 Gmail 地址。
  5. 从另一个账户发一封测试邮件,然后查看 Gmail,包括“垃圾邮件”文件夹。
  6. 如果要以你的域名发信,先趁“用这个地址发送邮件”还能用时使用它,之后改用中继服务、Workspace 或邮件托管服务。

在 Gmail 中使用自定义域名,哪些是免费的

项目 费用(截至 2026 年 9 月) 说明
域名 在按成本价销售的注册商处,一个 .com 每年约 US$10 至 US$11 Cloudflare Registrar 的收费不超过注册局费用和 ICANN 费用。Verisign 的 .com 批发价将于 2026 年 11 月 1 日从 US$10.26 涨到 US$10.97(Domain Name Wire)。
Cloudflare DNS 和 Email Routing 免费 在 Workers Free 套餐中,入站邮件标注为“Unlimited”(不限量)(价格)。你的域名 DNS 必须由 Cloudflare 托管。
Gmail 免费 最多 15 GB,与 Google 云端硬盘和 Google 相册共用。
在 Gmail 中以你的域名发信 通过“用这个地址发送邮件”免费,直到 2027 年 1 月,前提是 Gmail 仍接受添加新地址 可能无法通过你域名的 DMARC 检查。此后可选:Workspace、中继服务或其他邮件托管服务(见下文“以你的域名发信”)。

为什么旧教程不再适用

很多教程用 Gmail 的“Check mail from other accounts”(查看其他帐号中的邮件)功能(POP)把域名的邮件抓取到 Gmail。Google 正在停用这项功能:“2026 年第一季度之后,此功能将不再支持新用户。现有用户仍可继续使用此功能,直到 2027 年 1 月。”

普通转发仍然可用。Google 关于这些变更的常见问题确认,其他服务商仍可“将邮件自动转发到您的 Gmail 地址”,而 Cloudflare Email Routing 做的正是这件事。

普通 Gmail 账户能设置 catch-all 或通配地址吗?

不能。个人 @gmail.com 账户没有 catch-all(有时也叫通配地址),只提供加号地址和加点的变体:发往 janedoe+school@gmail.com 或 jane.doe@gmail.com 的邮件都会送到 janedoe@gmail.com,而任何人都能去掉标签或点号,找出你的真实地址。真正的 catch-all,也就是 @ 前面填任何名字都能收到,需要一个你自己的域名,并在 Gmail 前面加一个接受所有地址的服务。下面的步骤用 Cloudflare 来实现。

第 1 步:把域名的 DNS 迁到 Cloudflare

Email Routing 只适用于使用 Cloudflare DNS 的域名。通过 Cloudflare Registrar 购买的域名已经在用,可以直接跳到第 2 步。否则,请按照 Cloudflare 的完整设置指南(截至 2026 年 9 月),在 Cloudflare 控制台中操作:

  1. 前往 Domains(域名),选择 Onboard a domain(添加域名)。
  2. 输入你的域名,例如 example.com,选择 Continue(继续),然后选择 Free(免费)套餐。
  3. 检查 Cloudflare 找到的 DNS 记录。它的快速扫描可能会漏掉一些记录,所以请与你当前的 DNS 服务商对照,特别是网站相关的记录。
  4. 如果你在注册商处开启了 DNSSEC,请在更改域名服务器之前把它关闭。之后可以再通过 Cloudflare 重新开启。
  5. 在注册商处,把域名服务器(nameserver)替换为 Cloudflare 分配给你的那两个,务必准确复制。
  6. 更改最多可能需要 24 小时才能生效。

有一点要注意:Email Routing 需要使用 Cloudflare 的 MX 记录,而 Cloudflare 表示你“不能将 Email Routing 与外部邮件服务器一起使用”。如果这个域名已经在其他邮件托管服务那里收信,路由会替换该服务的 MX 记录,新邮件就不会再送到那些邮箱。

如果你想让 DNS 留在原处,可以用注册商自带的邮件转发,或者 ImprovMX 这类转发服务,以类似的方式把邮件转给 Gmail;如何在任意服务商设置 catch-all 一文介绍了这些方法。

第 2 步:开启 Email Routing 并验证你的 Gmail 地址

Cloudflare 的设置步骤(截至 2026 年 9 月):

  1. 在控制台中,前往 Compute > Email Service > Email Routing。
  2. 选择 Onboard Domain,选择你的域名,检查 Cloudflare 将要添加的 MX、SPF 和 DKIM 记录,然后选择 Done(完成)。
  3. 前往 Destination Addresses,输入你的 Gmail 地址。
  4. 打开 Cloudflare 发到 Gmail 的邮件,选择 Verify email address。

在地址通过验证之前,所有指向它的规则都处于停用状态。在 Cloudflare DNS 上,这些记录通常 5 到 15 分钟内就能生效,但传播最多可能需要 24 小时。

Cloudflare 会添加指向其邮件服务器的 MX 记录、SPF 记录 v=spf1 include:_spf.mx.cloudflare.net ~all,以及位于 cf2024-1._domainkey 的 DKIM 密钥。一个域名只能有一条 SPF 记录,所以如果你已经有一条,请把两者合并,并且不要超过 SPF 的 10 次 DNS 查询上限(域名设置)。MX 记录请让控制台自动添加,不要从别的教程里复制主机名。

第 3 步:创建地址、catch-all 和 Drop 规则

这些设置都在 Compute > Email Service > Email Routing 下:选择你的域名,然后打开 Routing Rules 标签页(Cloudflare 的规则指南)。

逐个创建地址

  1. 选择 Create routing rule(创建路由规则)。
  2. 在 Email pattern(邮件地址格式)中输入 @ 前面的部分,例如 shop,然后选择你的域名。
  3. 把 Action(操作)设为 Send to an email,在 Destination(目标)下选择你的 Gmail 地址,然后保存。

不要创建两条格式相同的规则:只有列表中的第一条会处理邮件。

catch-all 规则

  1. 在 Routing Rules 中启用 Catch-all rule,使其显示为 Active(已启用)。
  2. 把 Action 设为 Send to an email,然后选择你的 Gmail 地址。
  3. 选择 Save(保存)。

现在,发往你域名上任何地址的邮件都会进入 Gmail,包括你随手编出来的地址(例如 airline@example.com),也包括拼错的地址。关于其中的利弊,请参阅什么是 catch-all 邮箱地址。

用 Drop 规则挡住某个地址

当某个地址开始招来垃圾邮件时,为这个地址单独创建一条路由规则,并把 Action 设为 Drop(丢弃)。按 Cloudflare 的说法,Drop 会“删除与规则匹配的邮件,而不对其进行路由”。它的文档没有明确说明针对具体地址的规则优先于 catch-all,所以请测试一下:从另一个账户给这个地址发信,然后确认 Email Routing 的 Activity log(活动日志)显示为 Dropped(已丢弃)。

如果想暂停一条规则而不删除它,可以把它切换为 Disabled(已停用)。但开着 catch-all 时,发往这个地址的邮件仍可能通过 catch-all 送达,所以要挡住它,请使用 Drop。

加号地址和点号

开着 catch-all 时,shop+news@example.com 无论如何都会送到 Gmail。如果你希望它遵循 shop@example.com 的规则(包括 Drop 规则),请在 Email Routing > Settings(设置)下打开 subaddressing(子地址):不打开的话,丢弃 shop@ 并不能挡住 shop+news@。和 Gmail 不同,Cloudflare 把点号当作普通字符,所以 j.smith 和 jsmith 是两个不同的地址。@ 前面不支持非 ASCII 字符。

测试

  1. 从另一个账户(不是你验证过的那个 Gmail 地址)给一个已设置路由的地址发信,例如 shop@example.com。Cloudflare 提醒,有些服务商会丢弃看起来来自收件账户本身的邮件。
  2. 查看 Gmail 的收件箱和“垃圾邮件”文件夹。
  3. 如果没有收到,打开 Activity log,看它显示的是 Forwarded(已转发)、Dropped、Rejected(已拒绝)还是 Delivery failed(投递失败)。

以你的域名发信:2027 年 1 月之前和之后

Email Routing 只负责收信。Cloudflare 表示它“不支持从你的 Cloudflare 域名发送或回复邮件”,所以你在 Gmail 中回复时,邮件会从你的 @gmail.com 地址发出。

开始之前:Google 表示,从 2027 年 1 月起,用户“将无法再在 Gmail 中通过第三方电子邮件帐号发送邮件”。对于依赖“用这个地址发送邮件”的企业,它建议改用桌面邮件客户端,或者“为自定义域名使用 Google Workspace”,所以请做好准备:通过 Cloudflare 路由的域名将无法再这样发信。Google 还表示会在那之前限制新的设置,因此添加地址的对话框现在可能就已经不接受新地址了。

2027 年 1 月之前:用这个地址发送邮件

Google 的“用这个地址发送邮件”设置步骤,在电脑上的 Gmail 中操作:

  1. 打开“设置”>“查看所有设置”>“帐号和导入”(或“帐号”)。
  2. 在“用这个地址发送邮件”中,点击 Add another email address(添加其他电子邮件地址)。
  3. 输入你的姓名和 you@example.com,然后点击 Next Step(下一步)。
  4. 输入 SMTP 信息。Google 的 SMTP 设置是 smtp.gmail.com,端口 587 加 TLS,或者端口 465 加 SSL。用户名填完整的 Gmail 地址,密码填 Gmail 应用专用密码,然后点击 Add Account(添加帐号)。
  5. Gmail 会向 you@example.com 发送一个确认链接,路由会把这封邮件送到你的 Gmail。点击其中的链接。如果没收到,请在“垃圾邮件”文件夹中查找来自 send-as-noreply@google.com 的邮件。

Google 的帮助还提到,回复默认会发到你的 Gmail 地址,除非你设置了 Edit info(修改信息)> Specify a different “reply to” address(指定其他“回复”地址)。

DMARC 警告:这样发出的邮件是以 Gmail 而不是你的域名通过验证的,所以可能无法通过你域名的 DMARC 检查。根据现行 DMARC 标准 RFC 9989,只有当 SPF 或 DKIM 针对与发件人(From)地址对齐的域名通过验证时,邮件才算通过。如果你的域名发布了 p=quarantine 或 p=reject,收件方可能会把你的邮件归入垃圾邮件或直接拒收。

在用这种方式发信期间,请保持 p=none 并收集汇总报告(RFC 9989 称之为 Monitoring Mode,即监控模式),或者改用能为你的域名签署 DKIM 的中继服务。Gmail 收件人还可能在你的名字旁边看到“via”(通过)字样;Google 关于“via”标签的帮助说,解决办法是使用“与您的域名相关联”的 DKIM 签名。

要查看你当前的策略,请在 Cloudflare 的 DNS > Records(记录)下查找名为 _dmarc 的 TXT 记录。Cloudflare 免费的 DMARC Management(DMARC 管理,位于 Email(电子邮件)> DMARC Management)可以收集这些报告。要检查某封邮件,把它发到另一个账户,在 Gmail 中打开,选择 More(更多)> Show original(显示原始邮件),然后查看 SPF、DKIM 和 DMARC 这几行。

通过为你的域名签名的中继服务发信

能为你的域名签署 DKIM 的中继服务可以让 DMARC 检查通过,而且在“用这个地址发送邮件”停用后,仍可以在邮件客户端中使用。截至 2026 年 9 月:

  1. 注册一个中继服务,例如 SMTP2GO。它注册时不接受 Gmail 地址,所以请使用 you@example.com,路由会把发往这个地址的邮件送到你的 Gmail。
  2. 在中继服务中添加你的域名,把它显示的 DNS 记录复制到 Cloudflare 的 DNS > Records 下。所有 CNAME 都设为 DNS only(仅 DNS),并把 SPF 的 include 合并到你唯一的那条 v=spf1 记录中。
  3. 在 2027 年 1 月之前,在“用这个地址发送邮件”的第 4 步中填入中继服务的 SMTP 服务器、端口、用户名和密码,而不是 smtp.gmail.com。
  4. 此后,在桌面邮件客户端中通过 IMAP 读取 Gmail,并把中继服务设为 you@example.com 的发件服务器。在 Thunderbird 中:☰ > Account Settings(账户设置)> 你的 Gmail 账户 > Manage Identities…(管理身份…)> Add(添加)(Mozilla 的指南)。
  5. 给另一个账户发一封测试邮件,在 Show original 中确认 DKIM 和 DMARC 均针对你的域名通过。

2027 年 1 月之后:你的选择

方案 费用(截至 2026 年 9 月) 取舍
Google Workspace 每位用户每月 US$7 起(见下文) 在你的域名上获得真正的 Gmail 邮箱。它的 MX 记录会取代 Email Routing。
通过 IMAP 读取 Gmail、经 SMTP 中继发信的桌面邮件客户端 部分中继服务有免费套餐;SMTP2GO 的免费套餐每月最多 1,000 封、每天最多 200 封 你要在客户端里发信,而不是在 Gmail 网页版中。能为你的域名签署 DKIM 的中继服务可以让 DMARC 检查通过。
用 Cloudflare Email Sending(测试版)作为这个中继 Workers Paid 套餐,每月 US$5 起,含 3,000 封邮件,超出后每 1,000 封 US$0.35 Cloudflare 表示它“仅用于事务性邮件”。SMTP 服务器为 smtp.mx.cloudflare.net,端口 465,密码是 Cloudflare API 令牌。每封邮件(含附件)上限为 5 MiB。它会自行添加一条 DMARC 记录,所以请检查策略。
支持自定义域名的邮件托管服务 有免费的:Zoho Mail 的 Forever Free 套餐(在提供该套餐的地区)支持一个域名、最多 5 个用户,不支持 IMAP 或 POP;iCloud+ 和 Fastmail 需要付费 收信和发信都在同一个地方,但 MX 记录要迁到该服务。请参阅适合自定义域名的邮箱服务。

Cloudflare Email Routing 收不到邮件或进垃圾邮件:解决办法

邮件始终没有送达

先查看 Email Routing 的 Activity log。它会显示最近最多 30 天内每封邮件的结果,例如 Forwarded、Dropped、Rejected 或 Delivery failed 等,以及对应的 SPF、DKIM 和 DMARC 结果。如果日志说明不了问题,请按顺序检查以下几项:

  1. 目标地址未验证。指向它的规则会一直处于停用状态。
  2. 你是从同一个 Gmail 账户测试的。请换一个账户测试。
  3. Cloudflare 拒收了邮件。它的 postmaster 页面说明,如果收到的邮件未通过发件人的 DMARC 策略、SPF 和 DKIM 均未通过,或者来自黑名单上的发件人(554 错误),就会被拒收。只有发件人能解决这个问题。
  4. 邮件超过 25 MiB。Cloudflare 会拒收任何更大的邮件。
  5. DNS 设置有误。两条 SPF 记录,或者旧服务留下的 MX 记录,都会让路由失效。Cloudflare 的故障排除指南建议,如果你不确定该保留哪条,就删除所有 v=spf1 记录,然后重新添加域名。

发件人不一定会得知投递失败,因为 Email Routing 不会转发退信通知。

邮件进了 Gmail 的“垃圾邮件”文件夹

Cloudflare 会改写信封发件人,让 SPF 在 Gmail 处通过,还会添加 DKIM 签名,并支持 ARC。但 Gmail 仍会进行自己的检查,也可能把正常邮件归为垃圾邮件。对于被误标为垃圾邮件的邮件,Google 给出的解决办法是:点击 Not spam(不是垃圾邮件)、把发件人添加到 Google 通讯录,或者创建过滤器。要覆盖所有经过路由的地址,请在电脑上的 Gmail 中:

  1. 在搜索栏中,点击 Show search options(显示搜索选项)。
  2. 在 To(收件人)中输入你的域名,例如 @example.com,然后点击 Search(搜索),确认经过路由的邮件会显示出来。
  3. 点击 Create filter(创建过滤器),勾选 Never send it to Spam(一律不发送到垃圾邮件),然后再次点击 Create filter。

Google 自己的示例是按发件人过滤的,所以请测试一下这个针对整个域名的版本;它通常有效,但可能漏掉没有写明你地址的邮件,例如密送(Bcc)给你的邮件。Google 的转发建议还提醒,一旦转发的邮件被标记为垃圾邮件,之后的邮件也更容易被标记:这也是为只收到垃圾邮件的地址添加 Drop 规则的另一个理由。

免费配置的限制

截至 2026 年 9 月,根据 Cloudflare 的限制页面和 Google 的帮助:

限制 数值
每个域名的路由规则 200 条(一条 catch-all 规则即可覆盖所有地址)
每个 Cloudflare 账户的目标地址 200 个,所有域名共用
每条规则的目标地址 1 个(Worker 可以转发给多个)
入站邮件大小 25 MiB;更大的邮件会被拒收
每个区域(zone)的域名和子域名 30 个,包括域名本身
Gmail 发信 单封邮件的收件人超过 500 个,或每天发送超过 500 封时,可能会触及限制
“用这个地址发送邮件”的地址 最多 99 个,直到 2027 年 1 月

不以金钱计算的代价是:Cloudflare 掌管你域名的全部 DNS,而且你的邮件在由 Google 存储和过滤之前,会先经过 Cloudflare。

什么时候值得付费使用 Google Workspace

如果你希望在“用这个地址发送邮件”停用后,仍能直接在 Gmail 中以你的域名发信,或者想用你的域名登录 Gmail,或者要给几个人各配一个邮箱,那么 Workspace 值得付费。截至 2026 年 9 月,Business Starter 年付方案为每位用户每月 US$7,灵活方案为 US$8.40,提供 14 天试用、每位用户 30 GB 的共享存储空间、每位用户最多 30 个别名,还可以通过“默认转送”设置 catch-all。如果你只需要收信,并且可以接受用 @gmail.com 地址回复,免费配置就够用了。

分别查看每个 catch-all 地址的邮件

所有邮件都会进入同一个 Gmail 收件箱。要查看某一个地址的邮件,可以搜索 to:shop@example.com,或者为这个地址创建一个使用 Apply the label(应用标签)的过滤器。通过 IMAP 读取 Gmail 的 App 需要 Sign in with Google(使用 Google 账号登录)或应用专用密码;我们的 Gmail 应用专用密码和 IMAP 设置指南介绍了如何创建应用专用密码,以及这个选项为什么可能找不到。

在 CatchNone 中按地址查看经过路由的邮件

CatchNone 让你 catch-all 域名上的每个地址都有自己的位置。它直接从你的设备以只读方式读取由路由送进来的 Gmail 收件箱,把每封邮件显示在它送达的地址名下,哪个地址被泄露或被卖掉,一看便知。发往你从未创建过的地址的邮件会带有灰色标记;之后为这个地址创建别名,就能给它命名。“免费方案”在你自己的域名上最多包含 10 个别名,Lite 和 Premium 则没有数量限制。CatchNone 现已登陆 iPhone、iPad 和 Mac。

在它的“高级”设置(“使用你自己的域名”)中,你要用 Gmail 应用专用密码,通过 IMAP 手动连接 Gmail(imap.gmail.com,端口 993,TLS),因为它不支持 Sign in with Google。App 只读取邮件,但应用专用密码本身可以完全访问你的 Gmail。Google 并非在所有账户上都提供应用专用密码,而且你更改 Google 账号密码时会撤销它们;如果没有应用专用密码,可以把 catch-all 路由到 iCloud 邮件或 Fastmail 地址(二者都提供专用密码),或者把域名的邮件迁到那里,做法见在 iCloud+ 中使用自定义域名。

CatchNone 在设计上只收信,所以你仍然要在 Gmail 里回复。它只读取收件箱,所以被 Gmail 归入“垃圾邮件”文件夹或被过滤器归档的邮件不会显示(上文的 Never send it to Spam 过滤器对此有帮助)。每次检查(在你打开或刷新 App 时进行)只读取收件箱中最近 30 天内最新的 100 封邮件,而且它只导入收件人(To)、抄送(Cc)或密送(Bcc)中写有你域名上某个地址的邮件。把别名标记为“未使用”只是一个标签,所以要挡住某个地址,请在 Cloudflare 中使用 Drop 规则。

如果你想完全省去域名、DNS 和路由,Premium 会为每一次注册提供一个单独的 @catchnone.com 地址,这些邮件永远不会进入你的 Gmail 收件箱。关闭其中一个,发件人就会收到退信。

常见问题

Cloudflare Email Routing 是什么?它属于 Google 吗?

它是 Cloudflare 的免费转发服务,不属于 Google。Cloudflare 的 MX 记录让它成为你域名的邮件服务器:它接收每封邮件,检查 SPF、DKIM 和 DMARC,改写信封发件人,然后把邮件转给你验证过的目标地址,可以是 Gmail,也可以是其他任何收件箱。

Cloudflare Email Routing 安全可靠吗?

你要同时把邮件托付给 Cloudflare 和 Google。更大的风险在于控制权:任何进入你 Cloudflare 账户的人,都能把域名上所有地址的邮件改投到别处;而域名到期失效后,谁买下它,谁就会收到这些邮件,包括重置密码的邮件。请在 Cloudflare 开启双重认证,给域名开启自动续费,并了解邮件域名到期后会发生什么。它在可靠性方面的限制都有文档说明:严格的 DMARC 策略可能导致转发的邮件验证失败,超过 25 MiB 的邮件会被拒收,发件人也不一定会得知投递失败,所以如果有邮件没收到,请查看 Activity log。

我能用自定义域名登录 Gmail 吗?

免费版 Gmail 不行:你要用 @gmail.com 地址登录,域名只是把邮件转发过来。要以 you@example.com 登录 Gmail 收件箱,需要 Google Workspace。你也可以免费创建一个使用你自己的地址而不是 Gmail 地址的 Google 账号,用于 YouTube 或 Google 云端硬盘等服务,但它没有 Gmail 收件箱。

Email Routing 能用在子域名上吗?

可以。在 Email Routing 中选择你的主域名,打开 Settings,然后在 Subdomains(子域名)下输入子域名。Cloudflare 会为它添加记录,你再用同样的方法为它创建规则。

怎样关闭它或换到其他服务商?

Email Routing > Settings 下的 Disable Email Routing(停用 Email Routing)会删除它添加的 MX、SPF 和 DKIM 记录。如果想无缝迁移,先在同一处 Unlock(解锁)这些记录,添加新服务商的记录,等新设置正常工作后再停用路由。

文章

关于邮件,多懂一点。

全部文章

IMAP 和 POP3 的区别:IMAP 会删除服务器上的邮件吗

会。在一个 IMAP App 中删除邮件,服务器上的邮件也随之删除,所有 App 同步,通常先进废纸篓。本文讲清 IMAP 和 POP3 的区别、只读访问是什么意思、JMAP 简介,以及 993 端口。

你的邮箱,更由你做主。

下载 CatchNone

适用于 iPhone、iPad 和 Mac