TXT 记录(Text Record,文本记录)是一种 DNS 记录类型,用于存储任意的文本信息。这些文本信息可以是人类可读的,也可以是机器可解析的数据。TXT 记录常用于多种用途,包括验证域名所有权、配置 SPF 记录、DKIM 签名和 DMARC 策略等。
作用:
TXT 记录格式:
example.com. IN TXT "v=spf1 mx ip4:192.0.2.0/24 -all"
example.com
是你的域名。IN TXT
表示这是一个 TXT 记录。v=spf1
表示这是一个 SPF 记录。mx
表示允许 MX 记录中列出的服务器发送邮件。ip4:192.0.2.0/24
表示允许 192.0.2.0/24 子网内的 IP 地址发送邮件。-all
表示如果发件人的 IP 地址不在上述列表中,则拒绝邮件。作用:
TXT 记录格式:
default._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+...=="
default._domainkey.example.com
是 DKIM 选择器,用于区分不同的 DKIM 密钥。IN TXT
表示这是一个 TXT 记录。v=DKIM1
表示这是一个 DKIM 记录。k=rsa
表示使用的密钥类型是 RSA。p=
后面是公钥的 Base64 编码。作用:
TXT 记录格式:
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-failure@example.com; fo=1"
_dmarc.example.com
是 DMARC 记录的标准前缀。IN TXT
表示这是一个 TXT 记录。v=DMARC1
表示这是一个 DMARC 记录。p=none
表示如果邮件未通过 SPF 或 DKIM 检查,接收服务器不应采取任何特别行动。rua=mailto:dmarc-reports@example.com
指定了接收聚合报告的邮箱。ruf=mailto:dmarc-failure@example.com
指定了接收失败报告的邮箱。fo=1
表示在邮件的任何部分失败时都发送报告。TXT记录的基本格式如下:
《
类型=txt
名=<域名>
文本值="<文本内容>"
【生存时间=<生存时间>】 # 可选,单位通常是秒,默认值由DNS服务器配置决定
【注释=<注释信息>】 # 可选,用于记录额外的说明信息
》
txt
,表示这是一个TXT记录。example.com
。假设我们需要为域名example.com
添加一个SPF记录,允许IP地址192.0.2.1
和192.0.2.2
的邮件服务器发送邮件,可以这样写:
《
类型=txt
名=example.com
文本值="v=spf1 ip4:192.0.2.1 ip4:192.0.2.2 ~all"
生存时间=3600
注释=SPF记录
》
假设我们需要为域名example.com
添加一个DMARC记录,要求所有未能通过SPF或DKIM验证的邮件被拒绝,并将报告发送到dmarc-reports@example.com
,可以这样写:
《
类型=txt
名=_dmarc.example.com
文本值="v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"
生存时间=3600
注释=DMARC记录
》
假设我们需要为域名example.com
添加一个简单的验证记录,以证明域名所有权,可以这样写:
《
类型=txt
名=example.com
文本值="google-site-verification=abcdefg1234567890"
生存时间=3600
注释=Google站点验证记录
》
dig
、nslookup
等进行监控。在 Terminal 执行:
nslookup -type=txt example.com 127.0.0.1
输出:
Server: 127.0.0.1
Address: 127.0.0.1#53
example.com text = "v=spf1 ip4:192.0.2.1 ip4:192.0.2.2 ~all"