邮件服务器 DNS 记录配没配对,nslookup 五条命令当场验:MX、A、SPF、DKIM、DMARC

痛点场景

NAS 上装好了 Synology MailPlus Server(或 Synology Mail Server),照着教程把 DNS 记录配了一遍——但"配了"和"配对了"是两回事:TTL 缓存没刷新、TXT 值抄错一个字符、DKIM 公钥和服务器上的对不上,任何一个都能让邮件进垃圾箱或者干脆收不到。接手别人配的旧系统时更是如此,记录到底处于什么状态没人说得清。

验证不需要装任何工具,系统自带的 nslookup 就够。六种记录各自的格式与写法,本站《群晖自建邮件服务器要配哪些 DNS 记录》一篇已拆透;本文按官方知识库专讲怎么查、怎么读结果。前置条件只有一个:NAS 上已安装并设置好邮件服务器套件。

先明确要验的五类记录各自回答什么问题:

记录 回答的问题
MX 谁代表本域收信,投递顺序如何
A MX 里的主机名到底指向哪个 IP
SPF 哪些服务器有权以本域名义发信
DKIM 接收方拿哪把公钥验邮件签名
DMARC 验不过的邮件按什么策略处置

准备:进入 nslookup,先切公共 DNS

打开命令行环境:

  • Windows:按 Windows + R,输入 cmd.exe,单击确定;
  • macOS:单击屏幕右上角,在搜索框输入"终端机"后回车。

输入 nslookup 进入交互模式。接着输入:

server 8.8.8.8

不想使用本地 DNS 服务器时就这样切到公共 DNS——本地 DNS 可能带着缓存或内网视图,查出来的结果不代表公网的真实状态,验证场景先排除这层干扰。

五条查询逐项过

1. MX 记录——输入 set type=MX,回车后输入你的域名。应得到带优先级编号的 MX 服务器列表;列表为空或主机名不是你的邮件服务器,收信链路就是断的。

2. A 记录——输入 set type=A,回车后输入上一步查到的 MX 记录的主机名。应得到对应 IP 地址;拿它对照 NAS 的公网 IP,不一致说明解析指错了地方。

3. SPF 记录——输入 set type=TXT,回车后输入你的域名。结果里应有一行以 v=spf1 开头;没有这一行,本域就没有声明发信授权,发出去的邮件很容易被对端按无 SPF 处理。

4. DKIM 记录——仍是 set type=TXT,这次输入的名称是 DKIM 选择器._domainkey.你的域名。选择器在这两个位置找:

  • MailPlus Server:域 > 编辑 > 常规 > 高级
  • Mail Server:安全性 > 验证

查到的记录应为 k=rsa; p=DKIM 公钥 这类格式。关键动作:核对记录里的公钥与邮件服务器上生成的是否一致——DNS 侧还挂着旧公钥、服务器侧已换新钥,是签名验证失败的高发原因。

5. DMARC 记录——仍是 set type=TXT,输入 _dmarc.你的域名。能查到记录即说明处置策略已就位,对照配置篇确认 p、rua 等标签值与你的设计一致。

在线工具替代路径

不方便用命令行时,官方给了替代方案:Google Admin Toolbox Dig 这类在线查询工具。在名称栏输入你的域名、选择要检查的记录类型即可,适合临时排查或让非运维同事协助核对。

查出问题之后

发现 DNS 记录有不正确的配置:能改的就地更新记录,没权限的找 DNS 供应商协助。特别提醒一点——由于 TTL 的存在,新的 DNS 记录可能需要一些时间才能生效,改完立刻查到旧值不代表改错了,过了 TTL 窗口再复核一次。

验证

五条查询全部返回预期结果后,从外部邮箱(异域名)向本域发一封测试信、再从本域回发一封,双向都正常落箱,DNS 这层才算验收通过。

预防与注意

  • 换公网 IP、换邮件域名、重新生成 DKIM 密钥这三类变更后,把五条查询当成固定复查动作,别等用户投诉进垃圾箱才回头查;
  • DKIM 重生成后 DNS 侧与服务器侧务必同步核对一次,公钥不一致的症状极具迷惑性——服务看着都正常,只有对端验签失败;
  • 本地 DNS 与公网视图可能不一致的坑(内网客户端按本地视图解析),配置篇里有展开,验证时用 server 8.8.8.8 切公共 DNS 正是为了绕开它;
  • 把五条查询的输出截图存档,变更前后各一份,记录漂移一眼可辨。

DNS 验证这件事值得写进上线的固定检查单——诚鑫致达科技交付自建邮件系统时,五条 nslookup 的输出会截图归档进验收材料,日后出了争议有据可查。