
私は、Amavis と Spamassassin などを使って Postfix サーバーを運営しています。Postfix は外部からメールを受信し、それを Amavis に渡します。Amavis は Spamassassin にメールを評価させ、必要に応じてスパムとしてタグ付けします。その後、Postfix は各ユーザーの procmailrcs に依存して、メールを好きなように処理します。各ユーザーがスパムの処理方法を選択できる必要があると考えているため、これが正しいアプローチであると私は考えています。残念ながら、仮想エイリアス リストには外国のドメインを持つユーザーもいます。これらのアドレスにはサーバーにユーザー アカウントがないため、これらのアドレスに転送されるスパムは procmailrcs を経由せず、すでにスパムとしてタグ付けされたスパムが他のサーバーに転送されてしまいます。すでにスパムとしてタグ付けされた送信メールを停止する方法はありますか? または、これを修正する他の方法はありますか?
編集: スパムであり、かつ他のサーバーに転送されているメッセージのみを削除したいです。スパムとしてマークされたすべてのメールを削除したくはありません。この 2 つを区別する方法はありますか?
答え1
ヘッダーに特定のタグが付いたメールを削除できます。
見るPostfix ヘッダーチェックのマニュアルページ詳細については。
例:
「/etc/postfix/main.cf」に以下を追加
header_checks = 正規表現:/etc/postfix/header_checks
「/etc/postfix/header_checks」に、
/^(件名: \[SPAM\])(.+)$/ 破棄
上記の場合、件名が「[SPAM]」で始まるすべてのメールが破棄されます。
編集: スパムであり、かつ他のサーバーに転送されているメッセージのみを削除したいです。スパムとしてマークされたすべてのメールを削除したくはありません。この 2 つを区別する方法はありますか?
これは、Postfix 内で 2 つのインスタンスを実行することで実現できます。最初のインスタンスは、電子メールを 2 番目のインスタンス (リモート電子メール サーバーではなく) に転送します。同じことは、ローカル トランスポートを指定しても実現できます。
2 番目のインスタンスには上記の header_checks が実行されます。これにより、リモート サーバーへの電子メールのみ SPAM が削除されます。
いくつかの参考資料:
- トランスポートの指定
- master.cf ファイルに追加のエントリを指定することで、Postfix の複数のインスタンスを実行できます。詳細ここ