
這裡有幾個關於如何配置 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 交付。