MX记录多久生效?等了两天还没通的三个原因

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

上限由旧 TTL 决定,不是你点保存的那一刻。旧 TTL 是 3600 秒,最多等一小时;域名商默认 86400 的,就是一天。所以正确做法是切换前一天先把 TTL 降到 600,改完十分钟内就能查到。验证要查权威 DNS 和公共递归,本机 nslookup 最不可靠。

先说分工。MX 记录怎么设置那篇讲的是填什么、优先级怎么写、切换的六个步骤,这篇不重复。这篇只回答一个时间问题:点完保存之后,到底要等多久;以及为什么有人等了两天,邮件还是不通。

顺序很重要。先判断「该等多久」,再判断「是不是等超了」,最后才动手改。反过来做,最常见的后果是在缓存还没过期的时候又改了一遍,把一次小问题拖成两天。

生效时间由旧 TTL 决定,不是由你点保存的时间决定

这句话是整篇的核心。TTL 是「允许别人记住这条记录多久」,不是「多久之后开始生效」。你改完之后,全世界的递归 DNS 手上还留着旧值,它们会一直用到自己那份缓存过期为止。过期了才会来问你一句新的。

所以生效时间的上限,等于改之前那条记录的 TTL。改之前是 3600 秒,最坏一小时;是 86400 秒,最坏一天。这一点跟服务商的技术水平没关系,是 DNS 协议本身的工作方式。

环节通常耗时由什么决定能不能加速
解析商保存记录几秒到 10 分钟,个别要人工审核域名商后台流程找「立即生效」按钮,或提交工单
权威 DNS 集群同步秒级到几分钟解析商节点数量不能,等
递归 DNS 缓存过期最长等于旧 TTL旧 TTL 数值提前把 TTL 降小
对方邮件服务器缓存最长等于旧 TTL对方策略,你控制不了不能
负缓存(记录缺失被记住)看域名的 SOA 最小值你域名的 SOA 设置不能,只能等

看到这里就能推出那个最实用的动作:切换前一天把 TTL 从 3600 改成 600,等旧值过期,再动 MX。这样改完之后的最坏等待从一小时压到十分钟。跳过这一步直接改,就等于把等待时间交给一个几年前的默认值。

为什么有人等了两天:三种情况

按出现频率排,两天没通的案例基本落在这三类里。前两类是操作问题,第三类是被别人的缓存拖住。

第一种:改之前 TTL 是 86400。不少域名商的默认值就是一天,有些还是 43200 秒(12 小时)。这种情况下,你上午十点改完,欧洲的客户那边可能第二天上午才看到新记录。两天,是「一天 TTL 加一次没等够又改了一遍」叠加出来的结果。

第二种:只改了某一条线路。部分解析商默认开了分线路(电信、联通、移动、境外),你在默认线路或某一条线路上改了 MX,其他线路还是旧值。表现很有迷惑性——公司内网测试通了,客户那边时好时坏,换个网络环境结论又变。遇到「一部分人能收到、一部分人收不到」,先去看解析商后台是不是有线路分组。

第三种:中间那段空窗被记住了。如果操作顺序是先删旧记录、过一会儿再加新记录,这段时间里你的域名是「没有 MX」的状态。这个「没有」本身会被递归 DNS 缓存住,时长由域名的 SOA 最小值决定,可能比 TTL 还长。等新记录加好,别人查到的仍然是「没有记录」。这也是为什么不建议删了再加——正确做法是新旧并存,新记录优先级更高,观察一天再删旧的。

还有一种不算故障但常被当成故障:记录改对了,邮件也投到了新服务器,但客户端还在用旧配置收信。这时候查 MX 是对的,问题在客户端。分辨方法很简单——用网页端登录收一封测试信,网页端能收到就是客户端配置问题。

验证要查权威 DNS,别查自己电脑

「我查了还是旧的」这句话,九成是因为查的地方不对。三个层次的查询,含义完全不同。

查什么命令结果说明什么
本机缓存Windows:nslookup -type=mx 你的域名最不可信。受本机缓存和所在运营商缓存影响,参考价值最低
公共递归nslookup -type=mx 你的域名 8.8.8.8
dig mx 你的域名 @223.5.5.5
主流递归解析商看到的值,接近大多数发件方看到的结果
权威 DNS先 dig ns 你的域名,再用 dig mx 你的域名 @返回的NS你实际提交的记录有没有落到权威服务器上。这是根,权威没有,别处不可能有

排查顺序是从权威往下查,不是从本机往上猜。权威服务器上已经是新记录,说明你的操作完成了,剩下的只是等缓存过期。权威上还是旧记录,说明根本没提交成功,等多久都不会变,这时候要做的是回后台重新提交,而不是继续等。

国内还有一个细节:不同递归解析商看到的结果可能不一致,这是正常的传播过程,不是故障。判断标准是「权威对不对」,不是「所有公共 DNS 立刻一致」。

超过预期还没通,按这个顺序查

先说「预期」是多少:多数域名商在十分钟内让权威生效,全球递归全部更新完不超过旧 TTL。超过 48 小时仍查不到新记录,基本可以排除「还在传播」,是配置或状态问题。按下面四步走,别跳步。

  1. 查权威 DNS。权威上有没有新记录。有就往下走,没有就回后台确认保存成功。
  2. 确认改的是不是真正生效的那台服务器。域名在你注册的 A 家公司,解析却托管在 B 家——这种情况很常见。改之前先用 dig ns 看一眼 NS 指向谁,改错地方是白等。
  3. 换个网络交叉验证。手机 4G 和公司宽带各查一次,用两个不同的公共 DNS 各查一次。四处结果一致才算确认。
  4. 看域名的状态和解析记录的状态。域名是否过期、是否未实名、后台解析记录是不是「暂停」状态,这些都会让记录存在但不生效。

第 2 步和第 4 步涉及的东西比较多——NS 指向、域名锁定、多线路解析,值得单独讲。如果查完上面四步发现「后台明明显示已设置,权威上却没有」,那是另一类问题,处理思路跟「等生效」完全不是一回事。

双跑期留多久,怎么判断可以收尾

切换期间新旧两套系统同时收信,叫双跑。它存在的理由就是上面那张表——缓存不会同时过期,总有邮件还在往旧服务器投。双跑期短了会漏信,长了白付钱,判断标准有三个。

看收信量。在旧邮箱里看每天收到的信还有多少封。降到接近零、连续三天都是同一个数(通常是几封系统通知),就可以收尾。20 人以下的公司一般三到七天,外贸公司因为时差和境外缓存,留一到两周更稳。

看有没有关键客户还在发旧地址。把最近三个月的往来客户按域名列一遍,逐个确认对方的地址簿里存的是新地址。这件事没法靠技术自动完成,只能人工通知一遍。客户数超过 50 家的,优先通知贡献前 20% 营收的那批。

看旧记录删掉之后 MX 查询是否唯一。删旧记录前先确认新记录已经是唯一一条、优先级正常、权威上查得到。三条都满足再删,删完隔一天再查一次,确认没有回滚。

收尾时别忘了旧邮箱里的存量邮件。要么整体导出成归档文件留档,要么按客户逐个转给接手人。直接关停是最省事也最容易出事的一种做法——半年后有人问「去年那单的确认邮件在哪」,就真的找不到了。

生效之后,还有三件事要做

MX 查得到,只代表别人知道该投到哪台服务器。收不收得到、发出去会不会进垃圾箱,是另外两件事。

第一,SPF、DKIM、DMARC 三条记录要配全。MX 只管收,发信的认证靠这三条 TXT。切换后头几天最容易出的问题就是「能收不能发」或者「发出去进垃圾箱」,原因通常是只改了 MX 没动认证。配置方法见SPF、DKIM、DMARC 怎么配。

第二,旧邮箱留一个月。MX 生效不等于全世界同时生效,边缘节点和对方的缓存可能还指着旧服务器。旧邮箱设自动转发,保留一个月,成本几乎为零,能拦住那种「客户三天前发的信还在旧邮箱里」的尴尬。

第三,发四封测试信。用 Gmail、QQ 邮箱、Outlook 和一个真实客户各发一封,再从对方回一封。只在自己公司内部互发,不经过外部的缓存和反垃圾判断,测试结果没有参考价值。

如果生效之后仍然有收不到的情况,且只在特定域名上出现,那就不是 MX 的问题了,先看退信报错码对照,按报错码定位比盲改配置快得多。

相关问题

MX 记录修改后多久生效?

上限由改之前的 TTL 决定,不是你点保存的时间。旧 TTL 是 3600 秒,最坏等一小时;域名商默认 86400 的,最坏等一天。实际经验是权威服务器几分钟内就更新,全球递归解析在 TTL 内陆续跟上。想快就提前一天把 TTL 降到 600,改完十分钟内基本能查到。

为什么我的 MX 记录改了两天还没生效?

三种情况最常见。一是改之前 TTL 是 86400,等于一天,再加上没等够又改了一遍。二是解析商开了分线路,你只改了其中一条,表现是一部分人能收到、一部分收不到。三是先删旧记录再加新记录,中间那段「没有记录」被递归 DNS 负缓存了,清除时间可能比 TTL 还长。

怎么确认 MX 记录到底生效没有?

从权威 DNS 往下查。先 dig ns 你的域名 拿到 NS,再 dig mx 你的域名 @那台NS,看到的才是你真正提交上去的记录。权威上有新记录,剩下只是等缓存过期;权威上还是旧的,说明没提交成功,等多久都没用。本机 nslookup 受本机缓存和运营商缓存影响,参考价值最低。

TTL 设成多少合适?

平时 3600 秒够用,改动不频繁没必要更小。计划切换的前一天临时改成 600 秒,等旧值过期后再动 MX,切换稳定后可以改回 3600。注意 TTL 变小只影响之后的缓存,已经按旧值缓存出去的那些,仍然要等到期才更新。

MX 生效了,为什么还是收不到邮件?

先分清是收不到还是客户端没显示。用网页端登录收一封测试信,网页端能收到就是客户端配置问题。网页端也收不到,再查三处:SPF、DKIM、DMARC 有没有配全(这影响发信和反垃圾判断);旧 MX 记录是不是还留着导致投递混乱;以及发件方有没有收到退信。有退信就直接看报错码。

获取报价 电话咨询