Exim 重試是基於訊息而不是基於主機?為什麼

Exim 重試是基於訊息而不是基於主機?為什麼

據我了解,exim 重試應該是基於主機的,而不是基於訊息的。這對我來說似乎是有道理的;如果主機的伺服器過載或以其他方式告訴您“延遲發送訊息”,則將導致該情況的訊息延遲幾個小時似乎是不好的形式,但繼續用發送到該主機的所有其他訊息來打擊伺服器(即,如果雅虎說“停止”,您應該停止所有雅虎訊息!

根據我的閱讀,Exim 應該是這樣運作的:

我的重試規則(對於“大主機”,也就是那些在推遲或阻止時受到最大傷害的主機,我們使用:每 5 小時一次,持續 4 天):

         \N^[^@]+@yahoo。
         \N^[^@]+@rogers.\N * F,4d,5h;
         \N^[^@]+@hotmail.\N * F,4d,5h;

exinext檢查結果:

運輸:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.44]:1W1Lmv
-0004iy-IL錯誤-45:MAIL FROM後來自遠端郵件伺服器的SMTP錯誤:SIZE = 13119:主機mx-rogers.mail.am0.yahoodns.net [98.139.214。
154]:421 4。
  第一次失敗:2014 年 1 月 9 日 15:12:45
  最後嘗試:2014 年 1 月 9 日 15:12:45
  下次嘗試時間:2014 年 1 月 9 日 20:12:45

運輸:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.44]:1W1M9J
-0007Cj-PV錯誤-45:MAIL FROM後來自遠端郵件伺服器的SMTP錯誤:SIZE = 13105:主機mx-rogers.mail.am0.yahoodns.net [98.139.214。
154]:451 4。
  第一次失敗:2014 年 1 月 9 日 15:40:17
  最後嘗試:2014 年 1 月 9 日 15:40:17
  下次嘗試時間:2014 年 1 月 9 日 20:40:17

運輸:mx-rogers.mail.am0.yahoodns.net [98.139.214.154/208.83.209.47]:1W1Lss
-000521-Cf錯誤-45:MAIL FROM後來自遠端郵件伺服器的SMTP錯誤:SIZE = 13113:主機mx-rogers.mail.am0.yahoodns.net [98.139.214。
154]:421 4。
  第一次失敗:2014 年 1 月 9 日 15:12:06
  最後嘗試:2014 年 1 月 9 日 15:12:06
  下次嘗試時間:2014 年 1 月 9 日 20:12:06

我專門選擇了這個範例,因為它顯示了相同的 mx 伺服器和 IP(我記得這可能會對重試規則產生影響...)。據我了解,如果 15:12:06 的電子郵件是第一個觸發重試的電子郵件,那麼至少 4 小時內不應嘗試 15:40:17(發送至同一主機)的電子郵件。似乎發生的情況是,無論規則如何,它都會在第一次嘗試時嘗試發送電子郵件。

我們該如何解決這個問題?

答案1

我所看到的是它應該如何按設計工作。

不屬於「佇列運行」的訊息(在本例中,當收到訊息時)會嘗試立即傳送。

一次失敗,它將尊重重試次數。雖然您看到每個訊息的「下一次嘗試」都不同,但當它嘗試再次處理這些訊息時,它應該會尊重主機的重試時間。

參考: Exim - 重試配置 (從上數第四段)

相關內容