功能说明
在一个域名发布三条共同证明“谁有权以其名义发信”的 DNS 记录之前,邮件仿冒始终轻而易举。本工具把这三条记录构建为可直接粘贴的 TXT 值,每条记录一个 zone-file 块:
- SPF(Sender Policy Framework,RFC 7208)- 位于 zone 顶点、列出允许为该域名发信的服务器的 TXT 记录。你逐行编辑原始词条(
include:、ip4:、~all等 mechanism 和 qualifier),与它们出现在v=spf1之后的形态完全一致。 - DKIM(DomainKeys Identified Mail,RFC 6376)- 发布在
<selector>._domainkey.<domain>的公钥。设置 selector、密钥类型(k=)、哈希(h=)、测试模式(t=y),然后粘贴你的邮件服务商生成的base64base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
公钥(p=)。 - DMARC(RFC 7489)- 位于
_dmarc.<domain>的策略:策略(p=none / quarantine / reject)、子域策略(sp=)、报告地址(rua=/ruf=)、采样比例(pct=)以及对齐模式(adkim=/aspf=宽松或严格)。
粘性输出面板以注释分隔显示所有已启用的记录,随你的输入实时更新。一层校验会在错误到达 DNS 之前揪出经典的发布失误:DKIM selector 缺失、SPF 记录多于一条、SPF 记录缺少 ~all/-all/redirect= 终结符、DMARC 记录缺少 p= 策略,以及域名不是完全限定域名。
使用方法
- 选择一个预设 - Google Workspace、Microsoft 365 或 Full enforcement - 从一个已知正确的形态起步;或者把现有记录粘贴进导入面板:SPF 值(
v=spf1 …)、DKIM 值(v=DKIM1; k=…; p=…)和 DMARC 值(v=DMARC1; p=…)- 裸值或完整的 zone 行皆可。_dmarc.example.com、selector1._domainkey.example.com这类名称会被读取,用于填充域名和 selector 字段。 - 设置域名和 DKIM selector,然后填写每条记录的字段。每条记录都有开关;关闭的记录不会出现在输出中。
- 复制或下载
dns-records.txt,并在你的 DNS 服务商处把每个块发布为 TXT 记录。
一切都保存在 URL 中 - 分享一条链接,接收者看到的就是你的精确配置。
示例
一个处于监控阶段的 Google Workspace 域名:
; SPF — TXT at example.com (the zone apex; often written "@")
example.com. IN TXT "v=spf1 include:_spf.google.com ~all"
; DKIM — TXT at google._domainkey.example.com
google._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A…"
; DMARC — TXT at _dmarc.example.com
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com; adkim=r; aspf=r"
校验层在编辑过程中会捕获的问题:
- SPF 词条没有终结规则 → “SPF needs ~all / -all or redirect=” - 未匹配的发件人会得到 Neutral 结果。
- 两条
v=spf1记录被一起粘贴 → “Multiple SPF records” - 接收方会将其视为永久错误,并忽略整个域名的 SPF。 - DMARC 未选择策略 → “DMARC p= policy missing”。
- 域名字段填了
localhost→ “Not a fully-qualified domain”。
补充说明
- p= 密钥来自你的服务商。 DKIM 密钥由发信服务(Google 管理控制台、Microsoft Defender、Mailgun……)按域名生成。在你粘贴之前,构建器会让
p=保持为空 - 空的p=发布出去等于一把已吊销的密钥,上线前务必填好。 - 按标准顺序推出 DMARC:
p=none+rua=→ 研究聚合报告 →quarantine(可选pct=低于 100)→reject。在 SPF/DKIM 尚未生效时就上p=reject会拦下你自己的邮件。 - 一条 SPF 记录、每个 selector 一条 DKIM 记录、一条 DMARC 记录 - 对接收方而言重复即永久错误,不存在合并请求一说。
- 完全客户端运行。 构建器从不查询 DNS,也不向任何地方发送数据;只有分享 URL 会离开页面,而且仅在你复制它时。
- 相关工具: WHOIS /
RDAPRDAPThe modern JSON REST protocol for WHOIS-style registration data (domains, nameservers, entities), replacing the legacy plain-text WHOIS protocol.Learn more
Lookup(域名属于谁)、Defang/Refang、HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Generator。