Linux

sendmail 未立即發送 50 封郵件中的所有電子郵件

  • May 15, 2021

我以程式方式將電子郵件發送到 1 到 50 封電子郵件之間。該程序正在創建和發送電子郵件,許多電子郵件會立即發送。但是,我經常會收到一些延遲幾分鐘的訂單,並且在大批量交貨時會延遲幾個小時,我什至在一天后傳遞了一個。Sendmail 正在移交給 Exchange,並且此移交沒有問題,這可以從前幾分鐘內傳遞的(可能 75%)證明。正是這些異常值需要數小時才能傳遞,我不知道如何解決。

還有其他人看到過這種問題和/或知道如何解決這個問題嗎?

乾杯!

Sendmail 的預設傳遞模式為每個收到的消息派生子程序,並嘗試“立即”傳遞/中繼。它可能(暫時)“超載”具有多個並行的下一跳伺服器,尤其是在反垃圾郵件檢查的情況下。

建議的修復:

  • **最簡單:**為以上 5 封電子郵件批次在發送消息之間引入延遲(例如 1 秒)
  • 在基本級別之上調整 sendmail 配置(尤其是對於一個關鍵目標)
  • 如果您使用低級 SMTP 庫並且可以發出VERB(詳細)ESMTP 命令,那麼您的發送程序可能會避免 sendmail 分叉並等待結束以進行初始傳遞嘗試

引用自:https://unix.stackexchange.com/questions/649417