Postfix

可以將 Procmail 配置為在將郵件傳遞給腳本後刪除郵件嗎?

  • February 11, 2021

我已安裝並配置 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標誌(可能還有第二個冒號;或者在它之後命名一個顯式鎖定文件)。

舊的(不是這樣的)迷你常見問題解答有一個關於鎖定的部分,巧合的是,它也有一個關於你的主要問題的段落,以及關於“傳遞”的討論。

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