web-dev-qa-db-ja.com

postfix、spamassassinuser_prefsおよびエイリアス

-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プリファレンスを実装したいと思います ここ

  • この設定はエイリアスをどのように処理しますか?
  • エイリアス拡張の前にspamassassinが呼び出されますか?
  • この場合、ユーザーベースの設定構成全体がかなり台無しになります。エイリアスを使用しても、完全なユーザーベースの設定を実装する方法はありますか?
1
Zulakis

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は同じ内容で、受信者が異なるメールをどのように処理しますか?

1
Zulakis