Postfix

Postfix 上的 Procmail - 將電子郵件發送到收件箱

  • June 13, 2022

我已經設置了一個 Postfix 郵件伺服器,我的目標是將傳入的電子郵件通過管道傳輸到一個腳本。我通過 Procmail 做到了這一點。該腳本正在執行,沒有任何問題。

我的問題是:我也想將收到的電子郵件副本發送到使用者收件箱。以下是我的 .procmailrc 文件。我也使用 Maildir 格式。

LOGFILE=$HOME/procmail.log
VERBOSE=YES
SHELL=/bin/sh
MAILDIR=$HOME/Maildir
:0
|/home/user1/script.sh

:0c
!user1@notification.mydomain.com

使用上面的 .procmailrc 文件,腳本正在執行,但沒有電子郵件發送到使用者收件箱。

您需要c在第一個配方上設置一個標誌*(第二個不需要c標誌,除非您在此傳遞後需要第三*份消息副本)。

簡而言之,第一個成功的傳遞配方會終止 Procmail 對此消息的處理。如果您希望它在該點之後繼續,請添加一個(“複製”)標誌(但在更複雜的情況下,可能還會通過and/or標誌c進行某種錯誤檢查和回退處理)。e``E

感謝@trpleee,它對我有用。以下是最終的 .procmailrc 文件。

PATH=/usr/local/bin:/bin:/usr/bin
LOGFILE=$HOME/procmail.log
VERBOSE=YES
SHELL=/bin/sh
DEFAULT=$HOME/Maildir/
:0c
|/home/user1/script.sh

$Maildir

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