定义
MX 记录(Mail Exchanger record,邮件交换记录)是域名系统(DNS)中专门用于指定负责接收特定域名电子邮件的邮件服务器及其优先级的核心资源记录。当外部发信服务器(MTA)尝试向带有该域名的邮箱地址(如 user@example.com)投递邮件时,必须首先向 DNS 查询该域名的 MX 记录,以获取目标邮件服务器的主机名(FQDN),随后再通过 A 或 AAAA 记录解析出对应服务器的 IP 地址建立 SMTP 连接完成信件投递。
在网络架构中,MX 记录的核心价值在于将网站访问流量与电子邮件流量在 DNS 层实现彻底解耦。企业可以将域名的 A 记录指向前端 Web 服务器,同时将 MX 记录指向独立的自建邮件服务器或第三方云企业邮箱集群。该记录由 IETF 在 RFC 1035 中首次定义,并在 RFC 5321 中进一步规范了其路由与优先级处理规则。
工作原理:邮件路由与优先级协商
发信端 MTA 在投递邮件时,通过两阶段查询链条与严格的优先级规则完成服务器选择与故障回退。

两阶段解析链条
发信 MTA 无法通过单次 DNS 查询直接拿到邮件服务器的 IP 地址,而是依次执行两个步骤:
整个路由过程分两步:第一步是 MX 记录查询,发信方提取收件人地址的域名部分向权威 DNS 查询 MX 记录,获取一组包含主机名与优先级数值的记录列表;第二步是 A/AAAA 记录追溯,发信方选定目标主机名后,再次发起 A(IPv4)或 AAAA(IPv6)记录查询获取公网 IP 地址,随后向该 IP 的 25 端口建立 TCP 连接并开始 SMTP 协商。
若域名未配置 MX 记录,依据 RFC 5321 的历史兼容机制,部分 MTA 会尝试回退直接连接该域名的 A 记录地址;但在当前严格的垃圾邮件防御规范下,无 MX 记录的域名在多数主流邮件服务商处会被直接拒收。
优先级数值规则
MX 记录包含一个 16 位整数(0 至 65535)的优先级字段(Preference)。运维人员在规划邮件路由时需遵循以下核心原则:
- 数值越小越优先:0 代表最高优先级,65535 代表最低优先级。例如优先级为 10 的服务器必定早于优先级为 20 的服务器接收流量。业界通常采用 10、20、30 等带步长的数值,便于后续插入节点。
- 主备冗余与故障回退:企业通常配置主邮件服务器(如优先级 10)与备用邮件服务器(如优先级 20)。发信方始终优先连接主服务器;仅当主节点不可达或超时后,才会依次连接备用服务器。备用节点接收信件后通常排队暂存,待主节点恢复后再中继(Relay)转回主服务器。
- 同优先级与轮询分流:若多条 MX 记录配置相同优先级(如两台主机均为 10),发信 MTA 会在这组服务器间随机或轮询选择,实现粗粒度的负载分摊。
- 无基于权重的分流语义:MX 记录不支持百分比流量权重(如 70%/30%)。MX 数值仅代表严格的先后次序,不可与支持 Weight 与 Port 字段的 DNS SRV 记录混淆。
企业邮箱部署:服务器配置与配套解析
在企业邮箱上线与服务器运维中,MX 记录的准确配置是邮件稳定收发的前提。

严格主机名(FQDN)指向规范
MX 记录的数据字段必须是完全合格域名(FQDN),严禁直接填写 IPv4 或 IPv6 地址。RFC 1035 与 RFC 5321 明确规定该字段仅接受合法的主机名。若强行填入 IP 地址,绝大多数合规的 MTA 会直接视为语法错误并产生退信。
同时,根据 RFC 2181 规范,MX 记录指向的主机名不应是 CNAME 别名,而必须直接解析为 A 或 AAAA 记录。指向 CNAME 会增加递归查询轮次与延迟,甚至在特定解析器上引发别名死循环导致投递失败。
邮件基础设施的配套 DNS 生态
MX 记录仅解决“外部信件发往哪里”的接收路由问题,完整的企业邮件系统还需协同部署以下记录:
- A / AAAA 记录:负责将 MX 所指的主机名(如
mail.example.com)解析为公网 IP。 - PTR 记录(反向解析):在发信服务器 IP 所在机房配置反向解析,确保发信 IP 对应的主机名与 SMTP 对外声明一致,这是防范垃圾邮件拦截的核心检查项。
- SPF 记录(TXT 记录):声明哪些 IP 或服务器有权代表该域名对外发信。MX 记录负责“收信”,SPF 负责“发信授权”,两者互为补充。
- DKIM 与 DMARC 记录:通过数字签名验证邮件内容防篡改(DKIM),并制定伪造邮件的处理策略(DMARC),建立完整的域安全信誉。
在涉及邮件服务器迁移时,应提前调低解析记录的 TTL,详细的过渡策略可参考 DNS TTL 与缓存时间 中的实践建议。
运维实践:MX 记录的查询与故障排查
掌握命令行诊断工具是定位 MX 记录生效状态与邮件故障的基本手段。
命令行诊断方法
系统管理员常用 dig 与 host 工具查询权威或递归 DNS 服务器:
# 使用 dig 查询域名的 MX 记录 dig example.com MX +noall +answer # 典型输出示例:展示 TTL、记录类型、优先级与目标主机 # example.com. 600 IN MX 10 mail1.example.com. # example.com. 600 IN MX 20 mail2.example.com. # 使用 host 命令快速查询邮件交换记录 host -t MX example.com # 进一步追查目标邮件主机名的 A 记录 dig mail1.example.com A +short
通过上述命令可快速验证优先级数值、主机名末尾根域点号以及对应 IP 解析是否正常。更多 DNS 查询与工具使用细节,可参阅域名与建站分类下的相关文章。
典型故障排查逻辑
当企业邮箱出现外部邮件无法送达时,建议按以下顺序排查:
- 核查 MX 记录是否存在:使用
dig查询目标域名,确认 ANSWER 段是否有 MX 记录返回,避免因控制台误操作导致记录遗失。 - 验证主机名 A 记录与端口:确认 MX 指向的主机名具有有效 A 记录,并使用工具测试邮件服务器 25 端口是否正常监听、未被防火墙拦截。
- 排查根域 CNAME 冲突:DNS 规范禁止域名 Apex(
@根域)同时存在 CNAME 记录与其他记录。若在根域配置了 CNAME,会导致 MX 记录被解析器忽略,致使邮件路由失效。
常见误区与配置边界
在 MX 记录的配置与运维中,需要注意以下常见误区:

- 误区一:MX 记录可以直接填写 IP 地址:RFC 规范禁止在 MX 数据字段填写裸 IP,合规 MTA 会拒收或退信。必须先为服务器建立 A 记录,再将 MX 指向该主机名。
- 误区二:MX 记录数值越大优先级越高:SMTP 协议规定数值越小越优先。误将主要服务器设为较大数值,会导致流量全部流向较小数值的备用机。
- 误区三:利用 MX 记录实现权重比例负载均衡:MX 记录缺乏权重字段,相同优先级仅提供对等随机轮询,无法实现 70%/30% 形式的流量配比。精细负载均衡应通过前端负载均衡器实现。
- 误区四:配置了 MX 记录就无需配置 SPF:MX 仅负责入站路由,不具备发信鉴权功能。未配置 SPF 会导致企业发出的邮件被各大服务商判定为伪造垃圾邮件。更多网络协议与服务器概念可在主机百科术语表中查阅。
参考资料
- RFC 5321 “Simple Mail Transfer Protocol”:规定现代 SMTP 协议标准、MX 记录查询逻辑与优先级路由规则
- RFC 1035 “Domain Names – Implementation and Specification”:定义 DNS 体系架构、资源记录格式及 MX 记录数据结构规范
- RFC 2181 “Clarifications to the DNS Specification”:明确指出 MX 记录目标主机名不得指向 CNAME 别名的规范要求
- 延伸阅读:主机百科术语表(收录常见主机、DNS 与网络协议术语定义)
- 延伸阅读:DNS TTL 与缓存时间(解析生存时间设置与记录迁移实践指南)
- 延伸阅读:域名与建站(系统化域名解析、解析排查与服务器部署经验)

微信扫一扫打赏
支付宝扫一扫打赏