邮件发出去后对方收不到也收不到退信(silent discard),从哪些日志查?

48 邮件发出去后对方收不到也收不到退信(silent discard),从哪些日志查?
原因

Silent discard(静默丢弃)是最棘手的邮件问题之一:发件 MTA 返回 250 OK 认为已成功投递,但收件人实际没收到邮件,也没有 NDS/退信返回。根因通常不在发件侧,而在收件方或中间链路的反垃圾策略。

操作

1. 发件 MTA 日志(Postfix:/var/log/mail.log/var/log/maillog):grep "status=sent" /var/log/mail.log | grep "收件地址"。确认有 status=sent (250 OK) 的记录。对端 IP 是否是你预期的收件方 MX,验证 nslookup -q=mx 收件域
2. 收件方 MX 的日志(如果你能访问):确认邮件是否到达、是否被反垃圾模块标记为 spam 然后丢弃(而非退回)。Gmail 用 Postmaster Tools 看送达率;Exchange 用 Message Trace。
3. DMARC discard:如果你的 DMARC 策略是 p=reject,收件方可能在收件端验证失败后直接丢弃而不退信。检查你的 rua= 报告邮箱是否有聚合报告,查看 disposition=reject 的条目。
4. 中间 SMTP 网关/中继:如果有反垃圾网关(如 SpamTitan、MailCleaner),检查网关日志。某些网关在判定垃圾后丢弃而不生成 NDR。
5. Outlook.com / Microsoft 365:只能用 SNDS 看是否有该 IP 的连接记录。如果没有,说明邮件在企业链路内部丢失或被拒绝,需开微软工单。
6. 发件方队列排查postqueue -p 确认邮件不在 deferred 队列。如果邮件状态是 sent 但收不到,发件方无计可施——必须在收件方找。

RFC 5321 §4.2.1 (Delivery Confirmation) · RFC 3464 (DSN Format) · RFC 7489 (DMARC) §6.3