新しい.procmailrcを使用してスプールファイルからprocmailを呼び出しますか?

新しい.procmailrcを使用してスプールファイルからprocmailを呼び出しますか?

最近Postfixメールサーバーに使用する新しい.procmailrcファイルを設定しました。.forward新しい電子メールと新しい電子メールフィルタを使用してテストし、.procmailrc必要に応じて正しく配信しました。

/var/spool/mail/***username***新しいファイルを使用して自分のファイルの内容全体を再処理し、.procmailrc2000を超えるすべてのメッセージが新しいファイルに正しく分類され、フィルタリングされていないすべてのメッセージ~/mail/Likely-Spamが将来の世代のために会社のOutlookアカウントに配信されるようにしたいと思います。~/mail/Almost-Certainly-Spam~/mail/Cron-Jobs~/mail/Email-Backup

これを行う簡単なコマンドはありますか?

私のメールサーバーはpostfixを含むRHEL 7を実行しています。

答え1

procmailformail既存のmboxを処理するために使用できる他の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 procmailprocmailに渡されます。

formailマニュアルページから:

-s

入力は別々のメールメッセージに分割され、プログラムに順番にパイプされます(各部分は新しいプログラムを起動します)。

-s指定された最後のオプションでなければなりません。最初以下のパラメーターはプログラム名でなければなりません。他の人 パラメータが渡されます。

このプログラムを省略すると、formail標準出力の分割メールが再接続されます。

詳しくはこちらをご覧くださいman formailman procmail

関連情報