Spamassassinに問題があり、実際のスパムフォルダに配信する代わりにメールを破棄します。メールがスパムではなかった場合に備えて、このオプションを変更する必要がありますが、スパムであるとマークされたので、確認できます。時々スパムフォルダ。
/etc/postfix/master.cf
smtp inet n - n - - smtpd -o content_filter=spamassassin
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
私の構成はに設定されています
/etc/postfix/header_checks
/^X-Spam-Flag:.YES/ DISCARD This is spam
メッセージをスパムとしてマークし、spam/junkフォルダーに配信するように構成する方法はありますか?
ログ
Apr 28 09:55:26 testmail postfix/pickup[2171]: BF55C2C2451: uid=1001 from=<email@email>
Apr 28 09:55:26 testmail postfix/pipe[2275]: 006602C244C: to=<[email protected]>, relay=spamassassin, delay=0.99, delays=0.34/0.03/0/0.62, dsn=2.0.0, status=sent (delivered via spamassassin service)
Apr 28 09:55:26 testmail postfix/qmgr[2172]: 006602C244C: removed
Apr 28 09:55:26 testmail postfix/cleanup[2274]: BF55C2C2451: message-id=<[email protected]>
Apr 28 09:55:26 testmail postfix/cleanup[2274]: BF55C2C2451: discard: header X-Spam-Flag: YES from local; from=<email@email> to=<email@email>: This is spam
可能性を理解するために、 Postfix Architecture の概念を持っているとよいでしょう。
この最初の画像は、現在の状況を視覚化したものです。 PostfixはすべてのメッセージをSpamAssassinの前後の2回処理します。したがって、X-Spam
ヘッダーは2回目のラウンドでのみ設定され、スパムとしてフラグが付けられたメッセージは2回目のラウンドでサイレントにDISCARD
されます cleanup 。
より便利なのは、REJECT
明確なスパム(SPFハード障害、存在しない送信者ドメイン、一部のブラックリストに登録されたIPなど)です。 smtpd によって最初に受信されます。これにより、メッセージをキューに入れるのではなく、対応するSMTPエラーコードを含むメッセージを実際に拒否する可能性があります。キューに入れると、メッセージが受け入れられたという誤ったヒントが得られるためです。これは、 helo 、 sender 、および recipient の制限で構成できます。この2番目の図は、通常、受信トレイに配信されるメッセージのパスをさらに表しています。
希望する状態は、メッセージをスパムとしてマークし、それをメールボックスSpam
に配信することだけでした。実際、SpamAssassinはすでにそれを行っているので、メール転送エージェントの代わりにメール配信エージェントMDAに状況を処理させる必要がありますMTA。最後の図では ProcmailX-Spam-Flag
に基づいて正しいメールボックスにメッセージを配信します。
この機能の場合:
/^X-Spam-Flag:.YES/ DISCARD
から/etc/postfix/header_checks
を削除します。mailbox_command = procmail -a "$EXTENSION"
をmain.cf
に追加します。/etc/procmailrc
(またはユーザーごとの~/.procmailrc
)の構成例:
MAILDIR=$HOME/mail/
DEFAULT=$HOME/mail/Inbox
:0:
* ^X-Spam-Flag: Yes
Spam
いくつかの選択肢もあります。 ProcmailはPostfixの代わりにSpamAssassinにパイプすることができ、ユーザーごとの(スコアリング)設定を可能にします。 Maildrop もMDAであることに気付くかもしれません。