TXT 记录

DNS TXT(文本)记录允许域名管理员在 DNS 中插入任意文本。TXT 记录最初用于添加人类可读的注释,现在主要用于电子邮件身份验证协议(SPF、DKIM、DMARC)、域名所有权验证以及各种其他机器可读的配置。TXT 记录可以包含任何文本数据,每个字符串最多 255 个字符,并且允许使用多个字符串。

How it works

TXT 记录存储与域名关联的纯文本数据。虽然它们在技术上可以包含任何文本,但针对不同的用途会遵循特定的格式。电子邮件身份验证协议使用 TXT 记录来告诉邮件服务器谁有权从域名发送邮件、如何验证邮件以及身份验证失败时该怎么做。服务提供商也使用 TXT 记录来验证域名所有权。

TXT 记录在现代 DNS 中具有多个关键功能: **电子邮件身份验证 - SPF(发件人策略框架):** SPF 记录列出了授权从您的域名发送电子邮件的 IP 地址和服务器。当有人收到声称来自您域名的电子邮件时,他们的邮件服务器会检查您的 SPF 记录。如果发件人的 IP 与授权列表匹配,则通过 SPF 身份验证;否则,将被标记为可能是欺诈邮件。 SPF 记录示例:v=spf1 include:_spf.google.com ~all **电子邮件身份验证 - DKIM(域名密钥识别邮件):** DKIM 使用加密签名来验证电子邮件的真实性。您的邮件服务器使用私钥对发出的电子邮件进行签名,并在 TXT 记录中发布相应的公钥。接收服务器使用此公钥验证签名,确保电子邮件未被篡改且来自授权来源。 DKIM 记录示例(位于 selector._domainkey.example.com):v=DKIM1; k=rsa; p=MIGfMA0GC... **电子邮件身份验证 - DMARC(基于域的消息身份验证):** DMARC 建立在 SPF 和 DKIM 的基础上,告诉接收服务器如何处理身份验证失败的电子邮件。您可以指定是隔离、拒绝还是投递可疑电子邮件,并请求身份验证结果的报告。 DMARC 记录示例(位于 _dmarc.example.com):v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com **域名验证:** Google、Microsoft 或 SSL 证书颁发机构等服务通常要求您添加唯一的 TXT 记录来证明域名所有权。这种验证可以防止未经授权的第三方在其平台上声称拥有您的域名。

Key Points

  • TXT 记录可以包含任何文本数据,但针对不同用途遵循特定格式
  • 主要用于电子邮件身份验证(SPF、DKIM、DMARC)以防止欺骗和钓鱼
  • 对于第三方服务的域名所有权验证至关重要
  • TXT 记录中的每个字符串限制为 255 个字符,但可以连接多个字符串
  • 同一域名可以存在多个 TXT 记录,每个记录用于不同的目的

Common Use Cases

  • SPF 电子邮件身份验证: 指定哪些邮件服务器有权从您的域名发送电子邮件,防止垃圾邮件发送者在电子邮件标头中伪造您的域名
  • DKIM 电子邮件签名: 发布用于验证电子邮件加密签名的公钥,确保邮件的完整性和真实性
  • DMARC 策略执行: 定义接收服务器应如何处理未通过 SPF 或 DKIM 检查的电子邮件,可选择监控、隔离或拒绝
  • 域名所有权验证: 通过添加 Google Workspace、Microsoft 365 或 SSL 证书颁发机构提供的唯一验证代码来证明域名所有权
  • 网站验证和配置: 配置各种服务,包括搜索引擎的网站验证、安全策略或与第三方平台的集成

code TXT 记录配置示例

TypeHost / NameValue / Points toTTL
TXT@v=spf1 include:_spf.google.com ~all3600
TXT_dmarcv=DMARC1; p=quarantine; rua=mailto:dmarc@example.com3600
TXTselector._domainkeyv=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA...3600
TXT@google-site-verification=abc123xyz4563600

* TXT 记录针对不同用途使用特定格式。同一域名可以共存多个 TXT 记录。

Frequently Asked Questions

SPF、DKIM 和 DMARC 有什么区别?expand_more
SPF 指定哪些 IP 地址/服务器可以从您的域名发送电子邮件。DKIM 使用加密签名来验证电子邮件未被篡改且来自授权来源。DMARC 将 SPF 和 DKIM 结合在一起,告诉接收服务器当电子邮件身份验证失败时应该怎么做(拒绝、隔离或投递),并提供报告功能。这三者都使用 TXT 记录实现,并协同工作以防止电子邮件欺骗和钓鱼。
同一域名可以有多个 TXT 记录吗?expand_more
可以,您可以为同一主机名设置多个 TXT 记录,这种情况非常常见。例如,您可能有单独的 TXT 记录用于 SPF、域名验证和网站配置。DNS 解析器将返回与主机名关联的所有 TXT 记录。但是,每个主机名应该只有一个 SPF 记录 - 如果您需要授权多个邮件服务器,请将它们全部包含在一个 SPF 记录中。
如果我不发送电子邮件,还需要 TXT 记录吗?expand_more
即使您不发送电子邮件,也建议添加一个限制性策略的 SPF 记录,如 v=spf1 -all,以明确声明没有服务器有权从您的域名发送电子邮件。这可以防止垃圾邮件发送者伪造您的域名。您可能还需要 TXT 记录来验证 Google Search Console、SSL 证书颁发机构或其他平台的域名,即使您不使用电子邮件。
如果我的 SPF/DKIM/DMARC 记录配置错误会发生什么?expand_more
配置错误的电子邮件身份验证记录可能导致合法电子邮件被拒绝或标记为垃圾邮件。常见问题包括:SPF 记录没有包含所有邮件服务器、DKIM 密钥过期或缺失,或者在测试之前就设置了过于严格的 DMARC 策略(p=reject)。建议从宽松的 DMARC 策略(p=none)开始监控结果,修复报告中发现的任何 SPF/DKIM 问题,然后逐步升级到 p=quarantine,最后在一切正常工作后再设置为 p=reject。
如何验证我的 TXT 记录设置是否正确?expand_more
您可以使用在线 DNS 查询工具或命令行工具(如 dig TXT example.comnslookup -type=TXT example.com)来检查 TXT 记录。对于电子邮件身份验证,可以使用专用验证工具,如 Google 的 Toolbox Messageheader 分析器、MXToolbox 或 dmarcian 的工具。这些工具不仅会显示您的记录,还会验证其语法和配置,突出显示潜在问题。