web-dev-qa-db-ja.com

専用フォルダにスパムを入れるようにPostfix、Spamassassin、Procmailを設定する

SFがそのための良い場所であるかどうかはわかりませんが、そうでない場合は申し訳ありません。私は会社の電子メール用にDebianサーバーを管理しており、Spamassassinによって電子メールにスパムのフラ​​グを付けて、各ユーザー専用のフォルダー(Spam /やJunk /など)に入れようとしていますが、どうにかできません。それ。私はすでにPostfixとSpamAssassinを正常に実行しています(SAは件名フィールドのスパムメールに適切にフラグを立てます)が、今度はProcmailフィルターを設定して必要な場所に配置する必要があります。

これが私が持っているものです:私の/etc/postfix/master.cfには、SAルールがあります:

spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

スパムフィルタリングのルールを追加しようとしました:

spamfilter    unix    -       n       n       -       -      pipe
  flags=Rq user=vmail argv=/usr/bin/procmail -Y -m /etc/postfix/procmail-spamassassin.rc

そして私の/etc/postfix/procmail-spamassassin.rc:

Shell=/bin/sh
LOGFILE=/var/log/procmail.log
VERBOSE=yes
LOGABSTRACT=all

:0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Junk

しかし、それは機能せず、理由がわかりません... procmail.logに出力がないので、それをデバッグする方法がわかりません(私のPostfixログはそれ以上を提供しません)。 postfix reloadは私の変更を無視しているようです。 main.cfにmailbox_commandを入れてProcmailを使用するなど、他の多くの構成を試しましたが、それは良くありません...詳細については、Postfix仮想メールボックスを使用します(メールボックスはMySQLに保存され、 Unixアカウント)。

私はProcmailがこのように実行できることを知っています。なぜなら、master.cfに同様の休暇フィルターがあり、それが機能するからです。

vacation   unix    -       n       n       -       10      pipe
  flags=Rq user=vacation argv=/usr/bin/procmail -Y -m /etc/postfix/procmail-global-repondeur.rc ${sender} ${recipient}

私が間違ったことを見ることができますか?

1
Flackou

最終的なメールの宛先をprocmailにしないのはなぜですか?別のトランスポートを設定する必要はありません。 main.cfのmailbox_command値を調べます。

1
NickW

「トランスポート」テーブルに「spamfilter」を追加しましたか?

0
Alexandre Colas