Postfix
Postfix 上的 Procmail - 將電子郵件發送到收件箱
我已經設置了一個 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