使用 Cloudflare 和 SMTP2GO 实现域名邮箱的收发邮件(隐藏真实邮箱地址)

 

背景介绍

我原本在 Namesilo 注册的域名,并通过其合作商 Titan Email 提供的 MX 服务mx1.emailowl.com 实现收信功能。随着 Namesilo 的域名一直涨价,最近我将域名转移到了 Cloudflare 以节省费用,希望配合其免费的电子邮件路由功能和 SMTP 中继服务实现完整收发功能,尤其是隐藏真实邮箱地址。

为了发信不暴露真实邮箱,我使用了 SMTP2GO 作为发信服务器。

第一步:在 Cloudflare 启用电子邮件路由(接收邮件)

  1. 删除旧的 MX 记录
    进入 Cloudflare,点击要使用的域名,进入其管理页面, “DNS”→“记录”,删除旧的 MX 记录( mx1.emailowl.com)。
  2. 启用“电子邮件路由”
    左侧边栏“电子邮件” →“电子邮件路由”→ “开始使用”。
  3. 添加自定义地址
    自定义地址(域名邮箱地址): [email protected](填写“you”即可)
    操作:发送到电子邮件(默认,无需选择,也没得选)
    目标位置:真实邮箱地址
  4. 配置 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] 已经可以使用新的配置收取邮件。

第二步:配置 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

《使用 Cloudflare 和 SMTP2GO 实现域名邮箱的收发邮件(隐藏真实邮箱地址)》上有1条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注