昔、導入したときの手順があったのですが色々と変わっていたので改めて
・Gentoo Linuxのpostfixにrspamとredisを導入
emerge -uDN rspamd
emerge -uDN dev-db/redis
・rspamとmilterで連携するため、/etc/postfix/main.cfに以下の行を追加
smtpd_milters = inet:localhost:11332
milter_default_action = accept
milter_protocol = 6
・rspamでチェックした結果をメールのヘッダーに追加するため以下のファイルを作成
/etc/rspamd/local.d/actions.conf
reject = 150; # Reject when reaching this score スパムメールも残すため
add_header = 6; # Add header when reaching this score このスコア以上は、ヘッダーにスパムであると追加
greylist = 4; # Apply greylisting when reaching this score (will emit `soft reject action`) 怪しいファイル?
/etc/rspamd/local.d/milter_headers.conf
extended_spam_headers = true; # これがないとrspamdが処理しているか不安で
/etc/rspamd/local.d/redis.conf
write_servers = "localhost";
read_servers = "localhost";
/etc/rspamd/local.d/worker-controller.inc
password="" # webUIのパスワード
enable_password=""
/etc/rspamd/local.d/worker-normal.inc
bind_socket = "localhost:11333"; # rspamdの待受ポート
/etc/rspamd/local.d/worker-proxy.inc
milter = yes; # Enable milter mode
timeout = 120s; # Needed for Milter usually
upstream "local" {
default = yes; # Self-scan upstreams are always default
self_scan = yes; # Enable self-scan
}
count = 4; # Spawn more processes in self-scan mode
max_retries = 5; # How many times master is queried in case of failure
discard_on_reject = false; # Discard message instead of rejection
quarantine_on_reject = false; # Tell MTA to quarantine rejected messages
spam_header = "X-Spam"; # Use the specific spam header
reject_message = "Spam message rejected"; # Use custom rejection message
・redisの待受
/etc/redis.conf
bind 127.0.0.1 ::1
・redis、rspamの起動とpostfixの再起動
/etc/init.d/redis start
/etc/init.d/rspamd start
/etc/init.d/postfix reload
・rspamの学習コマンド
/usr/bin/rspamc -c bayes learn_spam ${SPAM_MAIL}/ &
/usr/bin/rspamc -c bayes learn_ham ${HAM_MAIL}/ &
・学習結果は以下のファルダに作成されます。
/var/lib/rspamd/