Debian

新電子郵件到達時執行腳本(Postfix / Dovecot)

  • October 14, 2016

當我在我的郵件伺服器上收到一封新郵件時,我想執行一個備份腳本 (.sh)(在帶有 Postfix / Dovecot 的 Debian 上執行)。我發現了很多關於這個主題的文章,但沒有人給我一個可行的解決方案。這是我測試過的最後一個解決方案:https ://stackoverflow.com/questions/27230324/run-script-when-postfix-dovecot-get-new-mail 。有人有建議嗎?

編輯:當我收到一封新郵件時,我想執行一個 bash 腳本並讓 postfix/dovecot 將此新郵件放在 ~/Maildir 文件夾中。我正在尋找一種不會阻塞標準流程的“中間件”

如果您的實際問題是如何保留郵件伺服器接收(和發送)的每條消息的備份,則答案是設置選項always_bcc並指定郵箱。

根據您的設置,您可以將該郵箱(或別名)收到的消息轉發到腳本以進行進一步處理。

例如在/etc/aliases中:

mailbox: "| /usr/local/bin/script.pl"

根據評論編輯

相當老派,但是當您的電子郵件使用者是系統使用者並且有主目錄時,有舊的 sendmail 樣式.forward文件,仍然受 postfix 支持。語法有點神秘,但是具有~mailuser/.forward以下內容的內容既可以將消息傳遞到使用者的郵件儲存庫,也可以將其轉發到腳本:

\mailbox, "| /usr/local/bin/script.pl"

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