user icon

SieveでSPAM自動振り分け

前々回前回に引き続き、Sieveを使って、自動的に迷惑メールフォルダへ移動させてみます。
※SPAMチェックにPostfixの設定も必要になります。

SpamAssassin

Postfix用のパッケージが必要です。dnfではCRBリポジトリを有効に。
dnf install spamass-milter-postfix --eablerepo=crb
systemctl ebable spamass-milter --now 

Postfix

SPAMチェックをするだけなら簡単で、一行追加だけで済みました。
  • /etc/postfix/main.cf
smtpd_milters = unix:/run/spamass-milter/postfix/sock
リロードしてメールを送ると、SpamAssassinが受信したメールをチェックして、幾つかのX-Spam-なんとかヘッダーが付くようになります。
後はDovecotに任せましょう。

Dovecot

  • conf.d/90-sieve.conf
sieve_before = /usr/local/lib/dovecot/sieve/before/
sieve_before用のフォルダを作成して、sieveスクリプトを設置します。
mkdir /usr/local/lib/dovecot/sieve/before/
  • /usr/local/lib/dovecot/sieve/before/spam.sieve
今回は、X-Spam-FlagがYESなら迷惑メールフォルダへ移動させる事にします。
require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
  fileinto "Junk";
}
バイナリにコンパイル(バーチャルユーザによる処理では出来ないので)してリロード。
sievec /usr/local/lib/dovecot/sieve/before/spam.sieve
doveadm reload

RoundCube

SPAMだと学習させても、総合的にはSPAM判定してくれない事が有るので、確実なSPAM判定を食らわせるためにSPAMのサンプル文書を本文に記載して送ります。
※サンプルは、/usr/share/doc/spamassassin/sample-spam.txt に有りました。

送ってみると、きちんと迷惑メールフォルダへ自動振り分けされていました。
ヘッダーを見ると、X-Spam-* が追加されているのが分かります。
もしかしたら、X-Spamヘッダー付与もsieve内でやってPostfix側を不要に出来なくはなさそうですが、Postfixの設定が簡単なので、逆にSieveで複雑にする事になりメリットも無さそうです。
Facebooktwitterlinkedintumblrmail
名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)