Defaults.Exposed › 设置 › SPF
如何在 Cloudflare 上配置 SPF
在 Cloudflare DNS 中添加一条 SPF 记录,让邮箱服务商能分辨出你的真实邮件和伪造邮件。
这件事对你的生意意味着什么
SPF(发件人策略框架,Sender Policy Framework)是你域名 DNS 里的一条简短声明,列出哪些邮件服务器有权以你的名义发信。当有人收到一封声称来自你的邮件时,他们的邮件服务商会去核对这份名单。如果发信服务器不在名单上,这封邮件就会显得可疑——要么被丢进垃圾箱,要么直接被拦截。
说白了:SPF 让别人更难以邮件方式冒充你的生意,同时帮助你真正发出的邮件进到收件箱、而不是垃圾邮件文件夹。它只是一条记录,免费,几分钟就能搞定。
开始之前:你的 DNS 真的是由 Cloudflare 托管的吗?
这是大多数人会弄错的一步。一条 DNS 记录只有在由 Cloudflare 来应答你域名的 DNS 查询时才会起作用。
Cloudflare 是 DNS 托管商,不是邮箱服务商——它负责应答 DNS,但不运行你的收件箱。要让 Cloudflare 的 DNS 生效,你域名的域名服务器(nameservers)(在你注册域名的地方设置)必须指向 Cloudflare 控制台里显示的那两个 Cloudflare 域名服务器。在 Cloudflare 中打开你的域名,查看 **Overview(概览)**页面:它会标明 Cloudflare 是否已对该域名生效。如果你的域名服务器仍指向注册商或别的托管商,那么你在 Cloudflare 里加的任何东西都不起作用——请改到你 DNS 实际所在的地方去添加 SPF 记录。
先弄清一件事:是谁在替你发邮件?
SPF 必须列出每一个替你域名发信的服务。常见的有 Google Workspace、Microsoft 365,或托管你邮箱的任何服务商。每一家都会公布一个供你填进 SPF 记录的值(通常类似 Google 的 include:_spf.google.com,或 Microsoft 365 的 include:spf.protection.outlook.com)。请到你邮件服务商自己的帮助页面去查确切的值——这正是你必须填对的部分。
如果你用 **Cloudflare Email Routing(邮件路由)**来转发邮件,请注意它会为转发添加自己的 DNS 记录,但它并不以你的名义对外发信——你的 SPF 仍然需要列出你实际用来发信的那个服务。
Cloudflare 分步操作
- 登录 Cloudflare,在控制台里选中你的域名。
- 在左侧菜单中进入 DNS 设置(找 DNS / Records(记录))。
- 点击 Add record(添加记录)。
- 把 **Type(类型)**设为 TXT。
- 在 **Name(名称)**字段中填入
@——@表示「域名本身」。不要在这里填你的完整域名。 - 在 **Content(内容)**字段中填入你的 SPF 文本。一条典型记录长这样:
v=spf1 include:_spf.google.com ~all把include:部分替换成你实际邮件服务商告诉你的那个(些)值。 - TTL 保持 Auto(自动)。
- 点击 Save(保存)。
Cloudflare 上人们常踩的坑
- 每个域名只能有一条 SPF 记录。 你不能有两条
v=spf1的 TXT 记录——邮件服务商会判定为损坏。如果已有一条,请编辑它来加入新服务,而不要再建第二条。 - 不要用引号包起来。 Cloudflare 会自行处理引号。直接粘贴以
v=spf1开头的纯文本即可。如果你自己加了"符号,可能会得到一条格式错误的记录。 - 名称填
@,不是你的域名。 如果你填完整域名,Cloudflare 通常会自动把它折回到根域,但@才是清晰、可靠的选择。 - 代理(橙色云朵)与此无关。 SPF 存在于 TXT 记录中,而 TXT 记录从不经过代理——TXT 记录上根本没有橙/灰云朵开关需要操心。
~all与-all的区别。~all(软失败)表示「未列出的都可疑」;-all(硬失败)表示「拒收任何未列出的」。在你确认一切都能正常发信之前先用~all,等确定名单完整后再收紧为-all。- 改动不是即时的。 DNS 更新在全网扩散可能需要几分钟到几个小时不等。
验证是否生效
保存记录并稍等片刻让它生效后,用本站的免费检测来核对。它会用通俗的语言告诉你 SPF 记录是否存在、格式是否正确。
完成了? 免费检查您的域名 以确认设置已生效——并查看您在全部 34 项检查中的完整评级。