郵件退信代碼是診斷投遞失敗的關鍵。依 RFC 5321/3463 分類:
| 代碼 | 增強代碼 | 常見訊息 | 原因 | 處置 |
|---|---|---|---|---|
| 421 | 4.3.2 / 4.4.2 | Service not available, closing transmission channel | 收件方服務器忙碌、維護、連線數達上限、IP 信譽差 | 指數退避重試 (10m, 30m, 1h, 4h...),檢查發信 IP 信譽 (Talos, SenderScore) |
| 421 | 4.7.0 | Your IP is filtered / SPAM listed | 發信 IP 在 RBL (Spamhaus, Barracuda, SORBS) 或收件方私有黑名單 | 申請除名、切換發信 IP、改用信譽良好的 Relay (SendGrid, Mailgun, Amazon SES) |
| 441 | 4.4.1 | No answer from host | 收件方 MX 伺服器無回應、DNS 解析失敗、防火牆封鎖 25 埠 | 驗證 MX 記錄 (dig MX)、telnet port 25、檢查防火牆/安全群組 |
| 450 | 4.7.1 | Recipient address rejected: Greylisted for 300 seconds | 灰名單機制:首次寄信暫拒,合法 MTA 會重試 | 確保發信 MTA 支援重試 (Postfix/Exim 預設支援),等待重試成功 |
| 451 | 4.3.0 / 4.4.0 | Temporary system failure / DNS resolving error | 收件方內部錯誤、DNS 伺服器異常 | 稍後重試,更換 DNS 解析器 (1.1.1.1, 8.8.8.8) |
| 451 | 4.4.2 | Bad connection (I/O timeout) | 網路延遲高、MTU 問題、中間設備封鎖 | 檢查 MTU (ping -s 1472 -f)、追蹤路徑 (traceroute) |
| 代碼 | 增強代碼 | 常見訊息 | 原因 | 處置 |
|---|---|---|---|---|
| 550 | 5.1.1 | User unknown / No such user | 收件信箱不存在、拼寫錯誤、帳號已刪除 | 清洗收件人清單、驗證雙重確認 (Double Opt-in) |
| 550 | 5.7.1 | Relay access denied / Authentication required | 未驗證即嘗試轉信、發信 IP 不在 mynetworks | 設定 SMTP AUTH、啟用 Submission 埠 (587/465)、SPF/DKIM/DMARC 對齊 |
| 550 | 5.7.1 | Message rejected due to spam content / SPF/DKIM/DMARC fail | 內容觸發反垃圾規則、認證失敗 | 檢查郵件內容、DKIM 簽名、SPF 記錄、DMARC 政策 (p=reject/quarantine) |
| 554 | 5.7.1 | Transaction failed / Rejected by policy | 收件方政策拒收 (RBL、信譽極差、附件類型禁止) | 申請除名、改用信譽良好 Relay、壓縮/加密附件 |
| 554 | 5.4.6 | Routing loop detected | 郵件迴路 (轉發規則錯誤、別名循環) | 檢查虛擬別名/轉發規則、郵件標頭 Received 路徑 |
Status:、Remote-MTA:、Diagnostic-Code:。dig TXT _dmarc.example.com、dkimverify 工具。# Postfix main.cf
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
maximal_queue_lifetime = 5d
bounce_queue_lifetime = 5d
# Exim
retry_data:
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
建立退信代碼知識庫、自動化解析退信郵件、整合至監控儀表板,讓郵件投遞可見、可控、可優化。