退信提示'DNS Error: Domain name not found'或'Name error: the domain name does not exist',收件人域名查不到 MX 记录,是我的问题还是对方的问题?
50
退信提示"DNS Error: Domain name not found"或"Name error: the domain name does not exist",收件人域名查不到 MX 记录,是我的问题还是对方的问题?
▼
原因
发件 SMTP 服务器尝试查询收件方域名的 MX 记录(邮件交换记录),DNS 返回了 NXDOMAIN(域名不存在)或 SERVFAIL(查询失败)。SMTP 协议要求发件服务器先通过 DNS 定位收件方邮件服务器——找不到 MX 记录则回退用 A 记录,都找不到就无法投递。
操作
1. 先确认地址没打错:gmial.com→gmail.com、qq.con→qq.com 非常常见。
2. 手工验证 DNS:命令行运行 nslookup -q=mx <收件域名>。(a) 返回 NXDOMAIN → 域名真的不存在/过期/没配 DNS → 联系收件人;(b) 返回 MX 但没 IP → MX 指向 CNAME 断了 → 对方 DNS 错误;(c) 返回正确 MX → 你的发件服务器 DNS 有问题。
3. 发件服务器 DNS 问题:Linux 编辑 /etc/resolv.conf 改用 nameserver 8.8.8.8 或 1.1.1.1;Windows ipconfig /flushdns 清除缓存。
4. Postfix 管理员:main.cf 中设 smtp_host_lookup = dns(而非 native),设 smtp_dns_resolver_options = timeout:10 避免超时假阴性。
参考:RFC 5321 §5(地址解析与 MX 查询)· RFC 1035(DNS 规范)
