2019/10/11

一樣是升級centos 8 postfix 後的問題
這次希望能有判別spam的功能
請出老牌的 spamassassin
網路上的很多文章都提到與mailscanner 或 amavisd-new 整合
但我希望能直接用postfix
做法如下

dnf install spamassassin

好在有放進list可以直接用

加group跟user

groupadd spamd

useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd

改權限
chown spamd:spamd /var/log/spamassassin

再來修改 /etc/postfix/master.cf

找到 
smtp      inet  n       -       n       -       -       smtpd

改成
smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin

在最後加上
spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

systemctl restart spamassassin
systemctl restart postfix
systemctl enable spamassassin

更新rule
sa-update -D --nogpg

會出現有缺東西的情況 能補就補
最後有二個dnf也沒法補
目前是不影響功能

Oct 11 07:36:44.595 [24809] dbg: diag: [...] module not installed: Net::Patricia ('require' failed)
Oct 11 07:36:44.595 [24809] dbg: diag: [...] module not installed: Net::DNS::Nameserver ('require' failed)

寫個crontab定時做
1 7,19 * * * /usr/bin/sa-update -D --nogpg;/usr/bin/systemctl restart spamassassin

如果想要能夠學習
建 whitelist , blacklist 二個user 分別把誤判及未判的信轉過去

然後再寫個crontab定時做

#!/bin/bash

/usr/bin/sa-learn --no-sync --ham /home/whitelist/Maildir/{cur,new}
rm -rf /home/whitelist/Maildir/*

/usr/bin/sa-learn --no-sync --spam /home/blacklist/Maildir/{cur,new}
rm -rf /home/blacklist/Maildir/*


沒有留言: