多条MX记录优先级怎么排?数字小的先投,但这不是分流

云臻技术支持 更新于 2026-10-28 阅读约 8 分钟
直接回答

MX 优先级是投递顺序,不是流量比例。数字越小越先试,只有连不上或返回 5xx 才轮到下一条。两条记录填成同一个数字,收件方会随机选,表现就是邮件时收时不收。常见配法是主 5、备 10,备用必须和主用同一套账号体系才算数。

先说清这篇管哪一段。MX 记录怎么设置讲的是只有一条记录时怎么填对:主机记录填 @,值填服务商给的主机名。这篇往下走一步——填了第二条之后,两条之间是什么关系。

很多人对多条 MX 的直觉是「两台服务器一起分担,一台挂了另一台顶上」。前半句是错的,后半句只在特定条件下成立。这个误解会直接导致配出一个看似有容灾、实际会掉信的方案。

优先级是投递顺序,不是流量比例

MX 的优先级(Priority / Preference)只表达一件事:先试哪台,后试哪台。

发件方的邮件服务器拿到一个域名下的多条 MX,会按数字从小到大排序,然后只连最小的那一条。投递成功就结束,不会再碰后面几条。只有前面的连不上、超时、或者返回 5xx 永久错误,才会降级到下一条。

这意味着两件事:

  • 它不做负载均衡。优先级 10 那台可能一整年一次都没被用过。你按两台机器的性能去估算收信能力,方向就错了——真正扛流量的永远是数字最小的那台。
  • 它是故障转移,但是被动的。转移的触发条件是「投递失败」,而不是「主服务器忙」。主服务器再忙,只要它还能回 250,邮件就全压在它身上。

如果你的目的是分流,靠 MX 优先级做不到。真正的分流要在服务商侧做,或者干脆不要分——企业邮箱单台服务器扛几千人的收信量没有压力,这个需求多数时候是想象出来的。

两条 MX 能解决什么,不能解决什么

下面这张表是按实际效果分的,不是按理论分的。配之前先对号入座。

你想达到的目的多条 MX 能不能做到实际会发生什么正确做法
主服务器故障时还能收信能,但有前提主记录连不上时,邮件转到备用记录备用必须指向同一套账号体系
两台服务器分摊收信量不能全部压在优先级最小的那台不做分流,或由服务商侧处理
迁移期间新旧系统都收信能,但要配合双跑新记录优先,旧记录兜底新记录数字更小,旧系统留一到四周
不同部门用不同邮件系统不能MX 是按域名分的,不认部门拆子域名,各自配一套 MX
提高发信成功率完全无关MX 只管收,发信看 SPF 与 IP 信誉去配 SPF、DKIM、DMARC

第三行值得多说一句:迁移期的「新旧并存」是双跑,靠的是新记录数字更小、旧记录暂时留着。它不是靠两条记录分流,绝大多数邮件在新系统上线后就直接投到新的那台了,旧系统收的是缓存还没过期的那些边缘流量。这一点跟「等生效」是同一件事,时间账见 MX 记录多久生效。

数字填成一样,就是随机选

这是多条 MX 配置里最常见、也最难自查的一个错。

标准规定同优先级的记录之间由发件方自由选择,实践中就是随机或轮询。两台机器都健康的时候,你看到的现象是「一部分人收到的信在这台,另一部分在那台」;只要其中一台出问题,就变成「一半的邮件收不到,另一半正常」——这种一半一半的故障,比全断更难定位,因为每次测试结果都可能不一样。

成因往往很无聊:后台添加第二条记录时,优先级那一栏是复制的第一条的值;或者服务商文档给的示例值是 10,两次都照抄了 10。

修法就一句话:同一域名下的多条 MX,优先级必须互不相同。主记录 5,备用 10。已经上线的,把备用那条改成 10 就行,不用删了重加。

跨服务商做备用,最容易变成假备用

「主用网易,备用随便找一家,反正只是兜底」——这个想法听起来稳妥,实际是把一个几乎不会发生的风险,换成了一个随时可能发生的问题。

关键在于降级那一刻发生了什么。主记录连不上,发件方转去连备用记录指向的服务器。如果那台服务器上根本没有你的域名、没有这个收件人的账号,它会直接返回 5xx 拒收。这封信就此结束,不会再去试第三条。结果比只填一条更糟:只填一条时,发件方会在主服务器上反复重试几天;填了假备用,信在第一次降级时就被永久拒掉了。

所以备用 MX 要成立,得同时满足三条:

  1. 备用服务器上已经开通了这个域名,并且域名处于已验证状态。
  2. 收件人账号在备用侧真实存在,或者至少有一个能接住全部来信的兜底地址。
  3. 备用侧的收信策略不会因为 SPF 或反垃圾规则把你的正常来信拦掉。

三条都满足,成本其实不低。多数企业邮箱服务商本身就提供两台以上的邮件服务器,你在 MX 里填服务商给的一主一备就够了,这才是成本最低的容灾——同一套账号体系下的两台机器,降级过去也认得收件人。自己再拼一家进来,收益很小,风险不小。

如果确实要接第二家,务必在低峰期主动测一次:把主记录的优先级临时调到比备用大,发几封测试信,确认备用那台真的能收、能进对应账号。测完立刻改回来。这一步没人愿意做,但它是唯一能证明备用不是摆设的办法。

数字怎么排:不必连续,但要留空档

优先级的取值范围是 0 到 65535,数字小的优先。除了「越小越优先」,没有别的规则——不必连续,不必从 5 开始,也不影响速度。

实践中的排法:主 5、备 10、预留 20。中间留空档是为了以后插记录不用动现有的。比如迁移时想临时加一条观察用的记录,插在 5 和 10 之间写成 8,现有两条都不用改;如果当初写的是 5 和 6,就只能重排。

两个小提醒。一是别用 0,部分老系统对 0 的处理不一致,稳妥起见从 5 起。二是别把数字排得太散(比如 10 和 60000),没有坏处,但排查时容易让人以为有第三条记录没显示出来。

服务商给的值直接照抄最省事。有的给 5 和 10,有的给 10 和 20,都正常。只有当服务商只给了一条、你自己要加第二条时,才需要动手排数字——而这种情况,先回去问一句「你们有没有官方备用记录」更靠谱。

怎么确认两条都真的生效了

配完不能只看后台显示「已添加」,要查解析结果。

dig mx 你的域名.com

返回里应该看到两条记录,每条前面带一个数字,数字不同,主机名分别是主用和备用。如果只返回一条,说明另一条没保存成功,或者被解析商的记录条数限制挡掉了(免费版解析服务常有这个限制)。

如果返回的主机名是 mx.qiye.163.com 这类形式,再对它查一次 A 记录,确认能解析出 IP。MX 指向的主机名解析不出 IP,这条记录等于不存在,这一点跟 A 记录与 MX 记录的分工有关,见 A 记录和 MX 记录的区别。

想看邮件实际落到哪台,发一封测试信,打开原始邮件头,找 Received: ... by 这一段,by 后面就是最终接收的那台服务器。多测几封,如果全都落在同一台上,说明优先级生效了、备用确实在待命;如果交替出现,回头去看两条记录的优先级是不是填成了一样的数字。

最后一种情况单独说:MX 查得到、优先级也对,但某些发件方的邮件就是进不来。这就不是 MX 的问题了,去看退信里的报错码,按码定位比继续改解析快得多,码表见 退信报错码对照。

一句实话:多条 MX 的价值被高估了。绝大多数公司只需要服务商给的那一主一备,多填一条不会更安全,只会多一个出错的地方。真正决定收信稳不稳的,是记录有没有填对、TTL 有没有提前降下来、切换有没有按顺序做——这些跟条数无关。

相关问题

多条 MX 记录优先级数字越小越优先吗?

是。数字最小的那条最先被尝试,投递成功就结束,不会再试后面的。只有前面的连不上、超时或返回 5xx,才会降级到下一条。所以它表达的是尝试顺序,不是流量分配比例。取值范围 0 到 65535,不必连续,常见写法是主 5、备 10。

两条 MX 记录的优先级可以填一样的数字吗?

不要。同优先级的记录由发件方自由选择,实践中表现为随机或轮询。两条都填 10 的话,一部分信走这台、一部分走那台;一旦其中一台出问题,就变成一半邮件收不到、一半正常,而且每次测试结果可能都不一样,排查非常困难。同一域名下的多条 MX,优先级必须互不相同。

MX 记录能用来做负载均衡吗?

不能。MX 优先级只决定尝试顺序,不决定分配比例。只要优先级最小的那台还能正常响应,所有邮件都会压在它身上,其余的记录全程不被使用。真要分流,得在服务商侧处理。企业邮箱单台服务器承载几千人的收信量没有压力,多数场景下这个需求本身就不成立。

备用 MX 指向另一家服务商可以吗?

可以,但风险很高。主服务器一旦降级过去,如果那台机器上没有你的域名、没有对应收件人账号,它会直接返回 5xx 拒收,这封信就此结束,不会再试第三条。结果比只填一条更糟。备用 MX 必须和主用属于同一套账号体系,或者在备用侧真的开好了域名和账号,并实测过一次。

MX 记录填了几条但只查到一条,是什么原因?

三种可能。一是第二条没保存成功,回后台确认;二是解析商对记录条数有限制,免费版常见;三是记录加在了不同线路上,你查的这条线路只有一条,其他线路可能是另一套。用 dig mx 查的时候换两个公共 DNS 各查一次,结果不一致就是线路问题。

获取报价 电话咨询