背景介绍
我原本在 Namesilo 注册的域名,并通过其合作商 Titan Email 提供的 MX 服务mx1.emailowl.com 实现收信功能。随着 Namesilo 的域名一直涨价,最近我将域名转移到了 Cloudflare 以节省费用,希望配合其免费的电子邮件路由功能和 SMTP 中继服务实现完整收发功能,尤其是隐藏真实邮箱地址。
为了发信不暴露真实邮箱,我使用了 SMTP2GO 作为发信服务器。
第一步:在 Cloudflare 启用电子邮件路由(接收邮件)
- 删除旧的 MX 记录
进入 Cloudflare,点击要使用的域名,进入其管理页面, “DNS”→“记录”,删除旧的 MX 记录(mx1.emailowl.com)。 - 启用“电子邮件路由”
左侧边栏“电子邮件” →“电子邮件路由”→ “开始使用”。 - 添加自定义地址
自定义地址(域名邮箱地址):[email protected](填写“you”即可)
操作:发送到电子邮件(默认,无需选择,也没得选)
目标位置:真实邮箱地址 - 配置 DNS 记录
“创建并继续”→“继续”,进入“配置 DNS”界面,提示要删除原有内容为的"v=spf1 ip4:……"的 TXT 记录(原有 MX 记录已手动删除,如未删除,可能也会提示删除),点击“删除”。
同一界面下方,提供了5条需要添加的 DNS 记录(3条 MX,两条 TXT),点击“添加记录并启用”,系统会自动添加以下记录:- 3 条 MX(
route1/2/3.mx.cloudflare.net) - 2 条 TXT(SPF 和 DKIM)
保留已有的 DMARC 记录(TXT)。它是用于防止伪造发件人身份的,和 SPF、DKIM 一起用来提升邮件送达率、防垃圾。
至此,域名邮箱
[email protected]已经可以使用新的配置收取邮件。 - 3 条 MX(
第二步:配置 SMTP2GO 发信(隐藏真实邮箱)
1. 注册账号
使用你的域名邮箱 [email protected] (注册时需要先指定一个,后续可以添加更多)注册 SMTP2GO 免费计划(1000 封/月,仅限工单支持)。注册过程中无需提供真实邮箱地址,验证链接直接发到了域名邮箱地址。
2. 验证发件人
点击邮件中的验证链接,进入 Add your Verified Senders(添加已验证的发件人)界面(Sending→Verified Senders)。可以看到,有两种验证方式:Sender domain 和 Single sender email。拥有域名控制权,建议选择 Sender domain,因为这种方式才不会暴露真实邮箱,并且它可以提供更好的投递效果。您只需编辑域名的 DNS 设置即可。选择 Sender domain 之后,提示转到您的 DNS 提供商 (Cloudflare),添加以下 CNAME 记录(下表中 X 表示数字):
| 类型 | 主机名 | 值 |
|---|---|---|
| CNAME | emXXXXXXX | return.smtp2go.net |
| CNAME | sXXXXXX._domainkey | dkim.smtp2go.net |
| CNAME | link.yourdomain.com | track.smtp2go.net |
并且下方显示:
SSL Certificate not yet enabled: An SSL certificate for the tracking domain will be requested when you click ‘Verify’ below.(SSL 证书尚未启用:当您点击下面的“验证”时,将请求跟踪域的 SSL 证书。)
下图是已经验证完成的界面:
注意: 这三条记录必须禁用 Cloudflare 代理(关闭“小黄云”),否则会验证失败。
第三步:添加 SMTP 用户(供客户端使用)
SMTP2GO → Sending → SMTP Users → Add SMTP User,使用
- SMTP 用户名:
yourdomain.com(默认推荐) - SMTP 用户密码:你设置的 SMTP 密码(使用默认推荐即可)
最终显示如下 SMTP 配置信息:
- SMTP 服务器:
mail.smtp2go.com - 端口:2525(推荐)
- 备用端口:8025, 587, 80 or 25。TLS 在相同端口上可用。
- SSL 在端口 465, 8465 and 443 可用。
第四步:配置 Thunderbird 邮件客户端
IMAP 收件
- 协议:IMAP
- 主机名:
imap-mail.outlook.com - 端口:993
- 加密方式:SSL/TLS
- 认证方式:OAuth2(如果你启用了双重验证,尝试切换到 OAuth2)
- 用户名:真实邮箱
SMTP 发件
- 服务器:
mail.smtp2go.com - 端口:2525
- 连接安全性:STARTTLS
- 验证方式:普通密码(Evolution 中,“检查支持的类型”,出来的是 CRAM-MD5)
- 用户名:SMTP 用户名(第三步设置的 SMTP 用户名)
点击“完成”会弹出会弹出网页式的微软账户登录窗口(请输入 [真实邮箱地址] 在 imap-mail.outlook.com 的凭据,https://login.live.com/oauth20_authorize.srf?client_id=……)。接着有会弹出一个同样风格的“请输入 [域名邮箱地址] 在 imap-mail.outlook.com 的凭据”,但是只是闪过,因为上一个弹出窗口已经正确设置。
之后显示“成功创建账户”界面,点击“完成”,会弹出“系统集成”窗口,提示将 Thunderbird 设为默认电子邮件客户端,其中“收取点”默认勾选并不能修改,建议取消勾选“电子邮件”和“每次启动 Thunderbird 时都进行此项检查(A)”,再点击“跳过集成”。
至此,从 Thunderbird 底部的状态栏就可以看到邮件正在同步了。
注意:
1. 最上面的“电子邮件地址”就是域名邮箱地址,密码不用填。
2. 如果使用了 NekoRay 等,建议不要开启“系统代理”和“Tun 模式”,否则很可能无法弹出上述网页式的微软账户登录窗口。
3. Debian 中,即可用 Thunderbird,也可用自带的 Gnome Evolution。Evolution 默认只同步邮件头(和部分正文?)到本地,我觉得这样更好(还不知道 Thunderbird 是否可以设置成这样)。Evolution 默认邮件排序为从上到下是从旧到新,点击表头中“日期”,在弹出的窗口点击“排序”即可切换排序顺序。
权宜方案:仅使用 BCC 保留“已发送邮件”记录
本次折腾过程中,未正确配置 IMAP 的时候,曾考虑采用以下折衷方案:
- 仅通过 SMTP2GO 发信
- 每封邮件自动 BCC 密送到自己的真实邮箱
- 在真实邮箱中设置规则:将来自
[email protected]的邮件移入“已发送”
优点是节省本地存储,但缺点是 Thunderbird 无法查看历史往来邮件。
对比
| 功能/方案 | 权宜方案(仅发信+BCC) | 完整方案(收发都配置) |
|---|---|---|
| 接收邮件 | 转发到真实邮箱 | IMAP 同步 |
| 发信 | SMTP2GO | SMTP2GO |
| 隐藏真实邮箱 | ✅ | ✅ |
| 回复原邮件 | ❌ | ✅ |
| 查看历史 | ❌ | ✅ |
| “已发送”邮件 | BCC + 规则 | 自动同步 |
| 本地存储占用 | ❌ | ⚠️ |
总结
通过 Cloudflare 免费邮件路由 + SMTP2GO 外发服务 + Thunderbird 客户端配置,实现了完整、安全、隐私友好的域名邮箱体验。该方案不依赖第三方商业邮箱服务(如 Namesilo 的 Titan Email),便于控制和迁移。尤其适合希望保有专业形象的独立站或技术用户。
参考资料
欢迎分享或转载,转载请注明出处。
本文固定链接:https://www.oixxu.com/cloudflare-smtp2go-domain-email-hide-real-address



hi