-o content_filter=spamassassin
と次のようなトランスポートを使用して、postfixセットアップにspamassassinメールフィルタリングを実装しました。
spamassassin unix - n n - - pipe
user=spamassassin argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
次に、説明されているようにuser_prefs
オプションを使用してSQLでユーザーベースのspamassassinプリファレンスを実装したいと思います ここ 。
Sendmailのラッパースクリプトを作成してこれを調査しました(${recipient}
とにかく引数として)。
#!/bin/bash
echo "$@" >> /var/log/sendmail-test.log
/usr/sbin/sendmail-orig "$@"
この小さなコードは、エイリアスがspamassassinに渡される前に処理されているように見えることを実際に明らかにしました。それは素晴らしいことです。
これを行っているときに気付いたもう1つの重要な点は、main.cfに次のような行を含めることが重要であるということです。
spamassassin_destination_recipient_limit = 1
そうでない場合は、${recipient}
には複数のユーザーが含まれるため、ユーザーベースの設定もクラッシュします。
このような設定をしていると、spamcは同じメールで何度も呼び出される可能性がありますが、ユーザーが異なるだけです。これは別の質問につながります: spamassassinは同じ内容で、受信者が異なるメールをどのように処理しますか?