Email

Exim 發送失敗“421 SMTP 傳入數據超時” - 消息正文末尾缺少 ’n'

  • January 4, 2010

我試圖弄清楚這個問題是如何發生的以及如何阻止它。不知何故,消息正在進入我們的入站 Exim 假離線,最後沒有任何 \n。當我們的出站 Exim 程序嘗試傳遞這些郵件時,它們會失敗,因為 Exim 輸出 ‘.’ 與剛剛發送的那一行在同一行。我已經通過使用 tcpdump 擷取雙方的 SMTP 對話來驗證這一點

tcpdump 顯示最後發送以下內容:

<!–www。https://example.com-- ><!–www. https://example.com-- >。

這不是 DATA 的正確終止。最終接收 MTA 響應

421 失去的傳入連接

通過 spool 傳遞消息od,我在消息正文的末尾看到:

0011700 電子。com - - >

沒有\ns。這些卡在假離線中的消息似乎只是垃圾郵件。我在出站日誌中看到的,

1NLolk-0003aD-3V == email@example.com R=Storage T=Storage defer (-46):數據結束後來自遠端郵件伺服器的 SMTP 錯誤:主機 192.168.1.3

$$ 192.168.1.3 $$: 421 mda.local SMTP 傳入數據超時 - 關閉連接。

有沒有人有任何想法?“message_suffix”參數聽起來像是一個很好的創可貼,但它只適用於 appendfile 和 pipe。

我就此諮詢了 Exim 郵件列表,看起來問題出在 MailScanner 的內容過濾器上。我們有 MailScanner 為我們進行病毒/垃圾郵件掃描,當它清理郵件的尾部時,它似乎在某些郵件上,\n被遺漏了,並且郵件被放入出站 Exim 隊列中,處於使 Exim 無法傳遞的狀態它。Exim 沒有斷言它\n在嘗試結束 SMTPDATA傳輸之前已經發送了.,一些 Exim 開發人員目前正在爭論這個問題。

引用自:https://serverfault.com/questions/96400