MTA-STS 部署后的运维要点:发现策略缓存过期/不生效,怎么排查?

MTA-STS 部署后并非一劳永逸。策略缓存过期、HTTPS 端点失效、MX 变更时策略未同步等问题都可能导致邮件投递异常。本文提供系统的排查方法。

一、MTA-STS 策略缓存机制

MTA-STS 使用 DNS 记录触发策略发现、HTTPS 获取策略文件、max_age 控制缓存时长。发送方获取策略后会根据 max_age 缓存策略。如果 max_age 设置过长(如 86400 秒=1 天),策略变更后需要整天的缓存刷新时间。

二、常见问题排查

问题 1:策略缓存过期未更新

排查:dig _mta-sts.example.com TXT 确认 DNS 记录最新版本号与策略文件中的版本号匹配。发送方缓存过期时间 = max_age,建议 max_age 设置在 86400-604800 秒(1-7 天)之间。

问题 2:HTTPS 端点不可达

排查:curl -I https://mta-sts.example.com/.well-known/mta-sts.txt 确认返回 200 OK、TLS 证书有效。注意 mta-sts 子域必须使用独立的 HTTPS 证书。

问题 3:策略文件 MX 与实际 MX 不匹配

排查:dig example.com MX 获取实际的 MX 记录,与策略文件中的 mx 字段逐一比对。如果发送方 MTA 不在策略的 mx 列表中,enforce 模式下邮件将被拒绝。

三、TLS-RPT 的辅助作用

同时部署 TLS-RPT(RFC 8460)后,如 MTA-STS 策略导致投递失败,你会收到 TLS-RPT 报告,其中包含失败类型(如 starttls-not-supported、certificate-expired、hostname-mismatch),是排查的核心参考。

参考文献

  1. RFC 8461 — MTA-STS Specification
  2. RFC 8460 — TLS-RPT Specification

引用格式:ztpop.net. "MTA-STS 部署运维." https://www.ztpop.net/kb/faq/mta-sts-tls-faq-01.html. 2026-07-29. CC-BY 4.0