GoDaddy DNS:正确添加 SPF、DKIM 与 DMARC 记录

在 GoDaddy 面板发布邮件认证记录:Name 字段为什么必须只填前缀、引号陷阱、长 DKIM 值的处理,以及 GoDaddy 自家邮箱要的四条记录。
4 分钟阅读
更新于 2026-11-04
平台专区
godaddydnsspfdkimdmarc

大量中小企业的域名注册在 GoDaddy,而它的 DNS 面板有一个行为,比任何单一原因都更容易悄悄毁掉邮件认证:Name 字段是相对你 zone 的前缀。你把完整主机名填进去,GoDaddy 会好心地在后面再拼一次域名,生成 _dmarc.example.com.example.com。面板显示得和你填的一模一样,公网上没有任何解析器会去查那个名字。

本文讲正确的填法、面板里另外几个坑,以及 GoDaddy 自家邮箱产品需要的具体记录。

GoDaddy:Name 是相对前缀,值这样填
主机名重复拼接,是记录查不到的根因。

先确认:DNS 到底是不是 GoDaddy 在管

在 GoDaddy 注册域名,和把 DNS 托管在 GoDaddy,是两件事。如果你曾经把域名指到 Cloudflare、某个主机商或别的 DNS 服务,GoDaddy 的 DNS 界面依然存在、依然能保存记录——只是那不是全世界在读的那个 zone。

dig NS yourdomain.com +short

结果以 domaincontrol.com 结尾,说明 GoDaddy 是权威服务器,本文适用。是别的,就去那家加记录。这一条十秒钟,能省一下午。

面板位置

登录后进 My Products(新账号叫 Domain Portfolio),选域名,点 DNS 或 Manage DNS,进入记录表格,右上角 Add New Record。

Name 字段只填前缀

记录Name 里填实际生成的主机名
SPF@example.com
DMARC_dmarc_dmarc.example.com
DKIMgoogle._domainkeygoogle._domainkey.example.com
MTA-STS_mta-sts_mta-sts.example.com
子域 DMARC_dmarc.mail_dmarc.mail.example.com

永远不要把域名写进 Name。GoDaddy 不提示、保存成功,然后这条记录对任何检测工具都是不存在的。

SPF

类型:TXT   Name:@   值:v=spf1 include:secureserver.net -all   TTL:1 小时

include:secureserver.net 是 GoDaddy 自家邮件平台。邮件在别处就用别家的 include:Google Workspace 是 _spf.google.com,Microsoft 365 是 spf.protection.outlook.com。

多个发信源要合并成一条。GoDaddy 不会阻止你建两条 v=spf1,但两条会让 SPF 整体失效:

v=spf1 include:secureserver.net include:_spf.google.com ~all

域名、DNS 和 GoDaddy 邮箱都在同一个账号下时,GoDaddy 可能已经替你加过一条 SPF。改那条,不要新增。

引号陷阱

Value 字段里不要自己加双引号。DNS 协议上的 TXT 引号由面板负责,GoDaddy 已经替你加了。你手动贴 "v=spf1 ...",引号会变成字面字符,存下来的字符串不再以 v=spf1 开头——它就不是 SPF 记录了。结果是面板上明明有一条记录,检测工具却告诉你"没有记录"。

长 DKIM 值

GoDaddy 帮助文档写的是 TXT 值上限 1024 字符、Name 上限 255 字符。2048 位 DKIM 公钥大约 400 字符,当前编辑器完全放得下,底层的 255 字节分段它也自己处理。

老账号和老版本编辑器有静默截断的历史。如果 DKIM 检测报密钥格式错误或对不上,第一个怀疑对象就是粘贴被截断——重新贴一次;仍然不行,就让发信平台给你 CNAME 形式的 selector,绕开长度问题。

DMARC

类型:TXT   Name:_dmarc   值:v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; fo=1

从 p=none 起。GoDaddy 的部分说明会建议直接上更严的策略,别急——报告里每个发信源都对上了再收紧。用 DMARC 报告分析器读,之后依次 quarantine、reject。

如果你用的是 GoDaddy 自家邮箱(Professional Email / Titan)

四条记录,DKIM 是两条 CNAME 而不是 TXT 公钥:

@                        TXT     v=spf1 include:secureserver.net -all
secureserver1._domainkey CNAME   <Email & Office 后台给的目标>
secureserver2._domainkey CNAME   <Email & Office 后台给的目标>
_dmarc                   TXT     <Email & Office 后台给的值>

目标在 Email & Office Dashboard > Users > Manage > Set mail destination 里取,SPF 和 DMARC 的值也在同一屏。顺序是先 SPF、DKIM,最后 DMARC。

验证

dig TXT yourdomain.com +short
dig TXT _dmarc.yourdomain.com +short
dig TXT selector._domainkey.yourdomain.com +short

再发一封真实邮件看邮件头。面板打勾不算证明,邮件健康检查或 Gmail 的"显示原始邮件"才算。

常见错误

  • Name 里填了完整域名——域名重复、永远解析不到。
  • Value 里加了引号,把策略变成普通文本。
  • 改的不是权威 zone,因为 DNS 多年前已转到 Cloudflare。
  • 域名转发没关。转发和停放页可能让 GoDaddy 注入自己的记录,跑真实邮件时关掉。
  • 新增发信源时又加一条 SPF。

常见问题

为什么检测工具查不到我加的记录?

九成是 Name 里填了完整域名导致主机名重复,剩下一成是 zone 不权威。用 dig 查那个确切主机名,和面板显示对比即可。

GoDaddy 支持 2048 位 DKIM 吗?

当前编辑器支持,作为一条 TXT 值。保存成功但验证不过,先怀疑截断或多余空格,而不是密钥长度。

域名在别家注册,能在 GoDaddy 管 DNS 吗?

能,把 NS 指到 GoDaddy,同一个面板就成为权威。判断依据仍然是 dig NS,不是在哪里注册的。

这篇指南有帮助吗?