Rhel

使用新的 .procmailrc 在假離線文件上呼叫 procmail?

  • October 23, 2019

我最近配置了新文件.procmailrc.forward文件以使用我們的 Postfix 郵件伺服器。我已經使用新電子郵件對其進行了測試,並且新電子郵件.procmailrc可以根據需要正確過濾和轉發。

現在我想以某種方式/var/spool/mail/***username***使用新的重新處理我的文件的全部內容,.procmailrc以便將所有 2000 多條消息正確分類到我的新~/mail/Likely-Spam~/mail/Almost-Certainly-Spam、、、、等… ~/mail/Cron-Jobs~/mail/Email-Backup並將所有未過濾的消息轉發給我的公司展望帳戶…為後代。

有沒有一個簡單的命令來完成這個?

我的郵件伺服器正在執行帶有後綴的 RHEL 7。

procmail附帶另一個名為的程序formail,可用於處理現有的 mbox。您可以使用它將您的郵箱重新輸入到procmail.

為了避免新到達郵件的競爭條件,我會在處理它之前重命名假離線 mbox。例如:

mv /var/spool/mail/username /var/spool/mail/username.orig
formail -s procmail < /var/spool/mail/username.orig
rm /var/spool/mail/username.orig

之後的任何參數和選項-s procmail都將傳遞給 procmail。

formail手冊頁:

-s

輸入將被拆分為單獨的郵件消息,並逐個傳送到程序中(每個部分都啟動一個新程序)。

-s必須是指定的最後一個選項,它後面的第一個參數應該是程序的名稱,任何其他 參數都將傳遞給它

如果您省略該程序,formail則將簡單地將拆分郵件再次連接到標準輸出上。

查看man formailman procmail了解更多詳情。

引用自:https://unix.stackexchange.com/questions/548198