Email

Postfix - 通過智能主機僅發送被拒絕的郵件

  • March 13, 2017

我正在嘗試改善與我合作的組織的郵件傳遞(無垃圾郵件)。我們一直使用我們普通郵件服務的 smtp 伺服器作為智能主機進行投遞,但最近他們封鎖了該帳戶,因為它發送了太多郵件。

我已經研究並註冊了 SMTP 中繼服務,但這些服務非常昂貴。我不想直接發送郵件的原因是所有郵件都送達至關重要,而且我不想花大量時間檢查日誌以確保我們的郵件能夠傳遞給每個人。

所以我想知道 - 是否可以設置 postfix 以便它首先嘗試直接發送郵件,如果失敗,然後通過智能主機發送郵件?這應該允許我們向所有人發送郵件,而無需通過 SMTP 中繼發送所有郵件。

我認為如果您在同一台機器上執行兩個並行的 postfix 實例,它可能會按您的意願工作,實例的“延遲”隊列目錄通常連結(我認為符號連結會很好)到 a 的“傳入”目錄第二個實例配置為路由到智能主機。實例 1 應該嘗試傳遞;如果失敗,它會將其寫入延遲隊列,實例 2 的 qmgr 會將其視為新郵件並路由到智能主機。

(您可能需要對實例 1 進行一些調整,以調整它重試在共享目錄中看到的內容的方式,並且可能存在各種鎖定和競爭條件問題。)

更好的解決方案可能仍然是 2 個並行實例,但沒有共享目錄,以及一個掃描實例 1 的延遲隊列的腳本,使用 postsuper 將其擱置,將其複製到實例 2 的傳入隊列,並從實例 1 中清除它。這可以每隔幾分鐘從一個 cron 作業觸發,或者可能是一個 inotify 鉤子。

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