Postfix
可以將 Procmail 配置為在將郵件傳遞給腳本後刪除郵件嗎?
我已安裝並配置 Postfix 以將郵件傳遞到 Procmail。我已將 Procmail 配置為將電子郵件傳遞給 Python 腳本。我還注意到 Procmail 正在將同一電子郵件的副本放入
/var/spool/mail/<username>
. 我不希望將消息的副本保留在那里或伺服器上的任何地方。有沒有辦法配置 Procmail 在將消息發送到 Python 腳本後丟棄消息?在我的 .procmailrc 中配置如下:
:0Wc: | env python3 /home/user/python/script.py :0 * ^From:.*@.* /dev/null
然而,這不起作用。消息仍然結束
/var/spool/mail/<username>
。
這正是 Procmail 開箱即用的運作方式。配方按順序執行,直到採取傳遞操作,或者直到我們用完配方,然後傳遞到
$DEFAULT
. 寫入郵箱、傳送到命令或轉發給不同的收件人都是傳遞操作。但是,您的第一個配方有一個
c
標誌,它明確禁用此行為,並導致即使在此操作完成後仍會嘗試另一次傳遞。用這麼多的話來說,取出
c
標誌(可能還有第二個冒號;或者在它之後命名一個顯式鎖定文件)。舊的(不是這樣的)迷你常見問題解答有一個關於鎖定的部分,巧合的是,它也有一個關於你的主要問題的段落,以及關於“傳遞”的討論。