私はとりわけAmavisとSpamassassinでPostfixサーバーを実行しています。 Postfixは外の世界からメールを受け取り、それをAmavisに渡します。 Amavisは、Spamassassinにメールの評価を依頼し、必要に応じてスパムとしてタグ付けします。次に、Postfixは、各ユーザーのprocmailrcに依存してメールを処理します。これは正しいアプローチだと思います。なぜなら、各ユーザーは自分のスパムをどうするかを選択できるはずだからです。残念ながら、仮想アリスリストに外国ドメインを持つユーザーもいます。これらのアドレスにはサーバーのユーザーアカウントがないため、これらのアドレスに転送されるスパムがprocmailrcを経由することはなく、スパムとしてタグ付けされたスパムを他のサーバーに転送することになります。すでにスパムとしてタグ付けされている送信メールを停止する方法はありますか?または、これを修正する他の方法はありますか?
編集:スパムであり、他のサーバーに転送されているメッセージのみを削除したいと思います。スパムとしてマークされたすべてのメールを削除したくありません。 2つを区別する方法はありますか?
ヘッダーに特定のタグが含まれているメールを削除できます。
詳細については、 Postfix Header Checks Manページ を参照してください。
例:
「/etc/postfix/main.cf」に追加します
header_checks = regexp:/ etc/postfix/header_checks
「/ etc/postfix/header_checks」に、
/ ^(件名:\ [SPAM \])(。+)$ /破棄
上記は、件名が「[SPAM]」で始まるすべての電子メールを破棄します。
編集:スパムであり、他のサーバーに転送されているメッセージのみを削除したいと思います。スパムとしてマークされたすべてのメールを削除したくありません。 2つを区別する方法はありますか?
これは、Postfix内で2つのインスタンスを実行することで実行できます。最初のインスタンスは、電子メールを(リモート電子メールサーバーではなく)2番目のインスタンスに転送します。ローカルトランスポートを指定することでも同じことができます。
2番目のインスタンスには上記のheader_checksがあります。このようにして、リモートサーバーへの電子メールのみがスパムを削除します。
いくつかの参考文献: