備用連接埠上的 SMTP 守護程序將所有郵件擷取到單一 Dovecot 信箱

備用連接埠上的 SMTP 守護程序將所有郵件擷取到單一 Dovecot 信箱

這裡有幾個關於如何配置 postfix 將所有訊息重新導向到單一郵箱,以開發/測試郵件腳本的答案。

我正在尋找一種變體,在現有郵件伺服器上打開一個備用端口,並且我希望傳遞到該端口的所有 SMTP 訊息都轉儲到同一伺服器上的郵箱(Dovecot,透過本地傳遞)。

我的問題是 smtpd 共享 main.cf 中的配置,我沒有找到在不配置整個單獨的 postfix 環境的情況下運行 smtpd 的第二個副本的方法。我正在尋找一個更簡單的解決方案。

smtp-sink計劃是幾乎正是我想要的。它將每個訊息寫入一個新文件,但我還希望將它們推送到本地傳遞到 Dovecot,在那裡我的郵件用戶端可以方便地看到它們。

誰能推薦一種簡單的方法來實現這一點?我甚至會接受一個 perl 腳本來監聽/讀取 SMTP 並寫入 LMTP。

答案1

您可以覆寫smtpd_recipient_restrictions輔助連接埠(例如連接埠 9925),以便它將電子郵件重新導向至您選擇的信箱(例如[電子郵件受保護])。

master.cf的入口

9925      inet  n       -       -       -       -       smtpd
    -o smtpd_recipient_restrictions=check_recipient_access,pcre:/etc/postfix/x.pcre,reject_unauth_destination

文件/etc/postfix/x.pcre

/.*/    REDIRECT [email protected]

透過此設置,到達此連接埠的每封電子郵件都將與 上的 PCRE 模式匹配/etc/postfix/x.pcre,因此 postfix 會將其重定向到[電子郵件受保護]

您的最後一個任務是確保[電子郵件受保護]透過 dovecot LMTP 交付。

相關內容