迁移邮件系统时 DNS MX 记录怎么平滑切换不丢信?
迁移邮件系统时 DNS MX 记录怎么平滑切换不丢信?
5 步零丢信迁移流程:
Step 1 — TTL 预降(切换前 ≥24 小时):将当前 MX 记录的 TTL 从默认(3600 秒或更高)降至 300 秒(5 分钟)。这一步确保切换时所有递归 DNS 缓存快速过期,发件方 MTA 能尽快获取新 MX 记录。验证命令:
dig MX example.com +noall +answer 确认 TTL 已变化。
Step 2 — 添加新 MX(更高优先级):在原 MX 记录基础上,新增目标邮件系统的 MX 记录,并设为更低优先级值(更高优先级)。例如:原有
MX 10 mail.old.com,新增 MX 5 mail.new.com。此时发件方 MTA 会优先往新系统投递,新系统不可达时才回退到旧系统。
Step 3 — 队列缓存期(24-48 小时):DNS 传播 + 旧系统队列排空。在这期间:(1) 新系统正常接收新邮件;(2) 旧系统继续将已在队列中的邮件投递到用户邮箱;(3) 监控两套系统的 SMTP 连接日志,确保新系统正在接收 >90% 的新入站邮件。
Step 4 — 双跑确认后下掉旧 MX:确认旧系统队列为空且新系统稳定运行 ≥24 小时后,从 DNS 中删除旧 MX 记录,只保留新系统 MX。建议保留旧系统的 IMAP 服务在线 7-14 天,供用户通过客户端手动迁移历史邮件。
Step 5 — TTL 恢复:将新 MX 记录的 TTL 恢复为正常值(建议 3600 秒),记录迁移时间戳。
📎 RFC 5321 Section 5.1 MX 记录处理;RFC 2181 DNS 规范说明
