Mailmanにキューディレクトリ内のメッセージを再処理させるにはどうすればよいですか?または、代わりに、すべてのメッセージをキューディレクトリから関連リストのモデレートホールドキューに転送するにはどうすればよいですか?
私の問題は、私のin
キューディレクトリが、以前にモデレートを通過したメッセージでいっぱいですが、私のqrunner
が機能していなかったために配信されなかったことです。 qrunnerを起動するだけでそれらのメッセージが配信されることはわかっていますが、一部のメッセージはかなり古いため、リスト管理者にもう一度確認してもらいたいので、今すぐ送信しても意味がありません。
unshunt
というMailmanコマンドについて読みましたが、ここで必要なことを完全に実行できるとは思いません。
Mailmanにメッセージを新鮮であるかのように再処理させる方法を見つけました。最初にshow_qfiles
を使用して.pckファイルから生のメッセージコンテンツを抽出し、次にそのコンテンツをMailmanラッパーに渡します。
PATH="$PATH:/usr/lib/mailman/bin:/usr/lib/mailman/mail"
show_qfiles -q /PATH/TO/YOURFILE.PCK | Sudo -u postfix mailman post LISTNAME
MailmanラッパーはPostfixのような特権の低いユーザーで実行する必要があるため、Sudo
が必要です。
動詞post
は、他の着信メッセージと同じようにメッセージを処理するようにラッパーに指示します。
これは、メッセージがモデレートのために保持されることを保証するものではなく、新しいメッセージがリストに送信されたかのように同じ基準が適用されることを意味します。