postfix の local(8) ローカル配信エージェントの man ページをざっと読んでも、このタイプの機能についてのヒントは何も示されていません - 予想通りです。この種のタスクは通常、procmail にオフロードされます (おそらく、mailbox_command ディレクティブを介して)。これは、キッチン シンクを側で管理しながら、記述したタスクを処理できます。 procmail の欠点は、構成ファイルの形式、利点は柔軟性、および簡単に見つけられる大量の例です。 procmail より優れたものが最近登場したとしても、私にはわかりません。
しかし、私のお金のために、あなたが望むことをするために MTA を強制する方法を見つけたとしても、私はその道をたどりません。おそらく exchange は、柔軟なメッセージ ハンドラー/配信エージェントとしても優れた仕事をすることができます。
これは、唯一のヘッダー コンテンツに基づいて、必要なことを実行する procmail のレシピです (DEFAULT は配信ディレクトリで、多くの場合、$HOME/Mail/ のようなものです):
:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/
編集: (以下のコメントに記載されているように、これは maildir メールボックス形式を想定しています。mbox を使用する場合は最後のスラッシュを省略してください)
Alien Life Form が言ったように、これは procmail の仕事です。これは、メール サーバーのローカル配信エージェントに代わるものではありません。 後に呼び出される別のプロセスです MDAはその仕事をしました。
procmail でメールをソートしたい各ユーザーは、.forward
というファイルを作成する必要があります。 ホームディレクトリにあります。そのファイルには以下が含まれている必要があります:
"|exec /usr/local/bin/procmail || exit 75"
"
で完了 サインとすべて。
ALF はすでに基本的な .procmail
を投稿しています スパムでタグ付けされたメールを別のフォルダーに分類するファイル。
メール配信エージェントは何ですか (main.cf mailbox_command を参照)。 MDA が dovecot の場合、Sieve IETF 標準 (rfc5228) をサポートします。これは、セキュリティ ホールの可能性を公開することなく、procmail よりも多くのことを行うことができます。 procmail を postfix/dovecot に追加しないでください。ふるいは完全に統合されています。 Courier を使用している場合は、procmail で問題ありません。ただし、Pigeonhole の sieve/sievec プログラムの方が高速でクリーンであることがわかります。
以下は、スパム ヘッダーを認識してメッセージをごみ箱ファイルに入れる簡単なふるいスクリプトです。
require "fileinto";
if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"
{
fileinto "Trash";
stop;
}