大家好,我是 Immerse
专注分享 AI 玩法、独立开发与AI 出海的 AGI 实践者,更多干货欢迎关注公众号 #沉浸式AI 或访问 yaolifeng.com
如果你手上有自己的域名,只是想把 hi@你的域名.com 用起来收发邮件,又不想每年给 Google Workspace 或 Microsoft 365 交钱,这套 Cloudflare Email Routing + Gmail 现在依然够用。
Cloudflare Email Routing 负责把别人发到你域名邮箱的邮件转进 Gmail。Gmail 负责从这个地址回信。
它不是完整企业邮箱,但拿来放在博客、作品集、简历、联系页、独立开发者官网上,已经很够用了。
主要边界
- 能做到:别人发到你的域名邮箱,你在 Gmail 里收到;你也能在 Gmail 里用这个域名地址发信和回信
- 做不到:Cloudflare 不给你真正的邮箱空间,也不提供发信服务器;多人协作、共享日历、管理员后台,这套都没有
- 要注意:Cloudflare 开启 Email Routing 时会接管你这个域名的邮件
MX记录。如果你这个域名已经在用腾讯企业邮、阿里企业邮、Google Workspace,不要直接点开通
如果你要一个看起来专业、能正常往来邮件的联系邮箱,这套很合适。你要的是团队邮箱系统,那就别省这点钱,直接上正式服务。
准备资料
- 一个已经接入 Cloudflare DNS 的域名
- 一个你能正常登录的 Gmail 账号
- 能开启 Google 两步验证
- 一个备用邮箱用来做测试,
QQ、Outlook、另一个 Gmail 都行
部分参考文档:
- Cloudflare Email Routing 入门:https://developers.cloudflare.com/email-routing/get-started/
- Gmail 用其他地址发信:https://support.google.com/mail/answer/22370
- Google 应用专用密码:https://support.google.com/mail/answer/185833
先把收件打通
先做最小可用版:让别人发到 hi@你的域名.com 的邮件,能够进你的 Gmail。
- 登录 Cloudflare,进入你的域名,打开
Email -> Email Routing - 第一次开通时,Cloudflare 会让你添加或替换邮件相关的
MX和TXT记录。这里要认真看一眼,如果面板提示要删除旧的MX,就代表旧邮箱服务会一起停掉 - 开通后,去
Routing rules里创建一个自定义地址。比如把hi@你的域名.com转发到yourname@gmail.com - Cloudflare 会往你的 Gmail 发一封验证邮件。点掉验证之前,这条转发规则不算真的生效
- 验证完成后,用另一个邮箱发一封测试邮件到你的域名邮箱,不要直接用同一个 Gmail 自己给自己发,很多时候会把你绕晕
你看到的正确结果应该是这样的:
- Gmail 收到了这封信
- 收件人还是你的域名邮箱,不是裸露的 Gmail
- Cloudflare 面板里的规则状态是已启用
小建议:有建明确地址,不要一上来开 Catch-all。Catch-all 很方便,但也很容易把拼错地址、垃圾邮件、爬虫乱发的邮件一起吞进来。大多数人先用 hi、contact、hello 这种固定地址就够了。
再把发件打通
收件只是前半段。那怎么用对应的这个域名发出去。
注意,Cloudflare 不负责发信。它只是把邮件转进来。真正往外发信的,还是 Gmail,或者你后面换掉的别家 SMTP 服务。
开 Google 两步验证,生成应用专用密码
Gmail 不会让你直接拿账号密码去配 SMTP。你要用的是应用专用密码。
- 打开 Google 账号的安全页,先把两步验证开起来
- 开完以后,再进入
应用专用密码 - 新建一个密码,名字随便写,比如"域名邮箱"
- Google 会给你一串 16 位密码,保存下来
如果找不到"应用密码"入口,可能的两个原因:
- 你的账号还没开两步验证
- 你开了
Advanced Protection,Google 官方说明里明确写了,这种模式下应用专用密码不可用
碰到第二种情况,就别死磕了。要么退出 Advanced Protection,要么直接跳到后面的"换第三方 SMTP"方案。
在 Gmail 里添加对应的发件域名
- 打开 Gmail,点右上角设置,进入"查看所有设置"
- 打开
账号和导入 - 在"用这个地址发送邮件"里点"添加其他电子邮件地址"
- 名字填你想展示给别人的名字,邮箱填你的域名地址,比如
hi@你的域名.com Treat as an alias这个选项,默认保留勾选就行。你本来就是在给同一个人加另一个发件地址- SMTP 配成下面这样
text
SMTP 服务器:smtp.gmail.com
端口:465
用户名:你的 Gmail 完整地址
密码:刚刚生成的 16 位应用专用密码
加密方式:SSL
如果 465 + SSL 连不上,再试一次 587 + TLS。这是 Google 官方文档里也支持的组合。
- 提交后,Gmail 会往你的域名邮箱发一封确认邮件
- 这封确认邮件会先到 Cloudflare,再转发进你的 Gmail
- 点掉确认链接,或者把验证码填回去,这个发件地址就能用了
配置自动选择回复邮件
注意,如果你想要别人给你发了邮件,你想用对应的邮件回复,这一步设置是必须的。
设置下面这一项
测试整个流程
用其他邮箱,比如 QQ,163 邮箱测试一遍
- 用另一个邮箱发信到
hi@你的域名.com - 去 Gmail 收件箱里打开这封信,直接点回复
- 发出去之前,看一眼
From,确认显示的是你的域名邮箱 - 回到对方邮箱,确认能收到回复
到这一步,主流程就已经跑通了。
对方为什么还会看到 via gmail.com 或者 on behalf of
这不是你哪里配错了,很多时候是 Gmail 这条发信链路本来就有这个边界。
你现在这套方案里:
- Cloudflare 负责收件转发
- Gmail 负责真正把邮件发出去
所以在部分收件客户端里,对方可能会看到你的 Gmail 痕迹,比如 via gmail.com,或者 yourname@gmail.com on behalf of hi@你的域名.com。
这在个人沟通、博客联系邮箱、独立开发者业务往来里通常问题不大
最容易踩的几个坑
- Cloudflare 规则建好了但一直收不到邮件。先看目标 Gmail 有没有点验证邮件,没验证就不会真正转发
- 一开通 Email Routing,原来的企业邮箱突然废了。因为
MX已经被 Cloudflare 接管了 - Gmail 一直提示用户名或密码错误。这里填的不是你的 Google 登录密码,是 16 位应用专用密码
- Google 账号里根本没有应用专用密码。先查两步验证,再查是不是开了
Advanced Protection - 你给自己发测试邮件,觉得没收到。先换一个别的邮箱测,自己给自己发最容易被 Gmail 的会话和去重逻辑干扰判断
- 对方看到
via gmail.com。这通常不是配置错,是 Gmail SMTP 的边界
真要说这套配置最难的地方,也就两个:一个是别把 MX 记录改糊涂,另一个是 Gmail 一定要用应用专用密码。