对方服务器网络可达但邮件投递延迟极长,日志没有退信码,BGP 路由抖动怎么排查?

31 对方服务器网络可达但邮件投递延迟极长,日志没有退信码,BGP 路由抖动怎么排查?
原因

邮件延迟不一定是 DNS 或收件方灰名单。BGP 路由抖动、ISP 间互联链路拥塞、国际出口 QoS 降级都会导致 SMTP 连接建连缓慢或中途丢包。与 DNS 问题的区别:nslookup 能解析对方 MX/A 记录,但 telnet 到 25 端口响应极慢或间歇性不通。

操作

1. 区分故障层:dig mx example.com +short 正常解析 → 排除 DNS;telnet [mx-ip] 25 卡住或超时 → 怀疑网络层。
2. 三跳追踪:mtr --report mx-host.example.com 看哪一跳丢包率 >5% 或延迟突增。最后一跳正常但中间某跳持续丢包,通常是 BGP 路由透传问题。
3. 检查 BGP 路由表(如果你有对等权限):birdc show route for mx-host.example.comip route get [mx-ip],确认路径是否经过预期 AS。
4. 国际/跨境场景:国内→海外邮件经常因国际出口 BGP 收敛慢产生 30s-5min 建连延迟。建议在 MTA 层面调短 smtp_connection_timeout(Postfix)至 30s 并启用 smtp_helo_timeout 快速降级到次优 MX。
5. 持续方案:向 ISP 申请 BGP session 或使用中转 MTA 服(SMTP relay)绕过不稳定链路。

RFC 4271 (BGP-4) · RFC 5321 §2.3 · RFC 4456 (Route Reflection)