Spamassassin 的 Spam 分數可以由“學習”的方式來調整, 最好的方式是分別建立 blacklist (黑名單, 垃圾郵件) 和 whitelist (白名單, 非垃圾郵件) 的信箱:
代碼:
#useradd -M blacklist
#useradd -M whitelist
以後如果收到垃圾信的話, 就把信 “以附加檔案方式轉寄” 給自己 Server 上的 blacklist 信箱; 如果是被 Spamassassin 誤判為垃圾信的郵件, 就把它轉寄給 whitelist. 也就是說, 讓這兩個信箱收集可以給 Spamassassin 學習的範本. 學習的指令如下:
學習黑名單:
代碼:
#sa-learn -D --showdots --spam --mbox /var/mail/blacklist
學習白名單:
代碼:
#sa-learn -D --showdots --ham --mbox /var/mail/whitelist
學習完成後, 即可將 blacklist 與 whitelist 信箱清空:
代碼:
#true > /var/mail/blacklist; true > /var/mail/whitelist
讓系統每小時自動學習黑/白名單: 於 /etc/cron.hourly 建立一個可執行的 shell 檔, 內容為:
代碼:
#!/bin/sh
if [ -s /var/spool/mail/blacklist ]; then
sa-learn --spam --mbox /var/spool/mail/blacklist > /dev/null 2>&1
true > /var/spool/mail/blacklist
fi
if [ -s /var/spool/mail/whitelist ]; then
sa-learn --ham --mbox /var/spool/mail/whitelist > /dev/null 2>&1
true > /var/spool/mail/whitelist
fi
#黑白名单
whitelist_from *@domain.com
# —————————————————————————
# 使用中国反垃圾邮件联盟的CBL/CDL
# URL: http://www.anti-spam.org.cn/
header RCVD_IN_CBL eval:check_rbl(‘cbl’, ‘cbl.anti-spam.org.cn.’)
describe RCVD_IN_CBL Received via a relay in cbl.anti-spam.org.cn
tflags RCVD_IN_CBL net
header RCVD_IN_CDL eval:check_rbl(‘cdl-notfirsthop’, ‘cdl.anti-spam.org.cn.’)
describe RCVD_IN_CDL CDL: dialup sender did non-local SMTP
tflags RCVD_IN_CDL net
#SCORE
score RCVD_IN_CBL 4.0
score RCVD_IN_CDL 3.0
#运行ntsysv,将spamassassin设定的为开机运行
#使用CCERT 中文垃圾邮件过滤规则集Chinese_rules.cf
wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf
#启动SpamAssassin
service spamassassin start
#定期自动更新中文反垃圾邮件规则
crontab –e
#加入
0 0 1 * * wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf;/etc/init.d/spamassassinrestart;/etc/init.d/spamassassin restart;
#建立SpamAssassin的学习系统
sa-learn –sync -D -p user_prefs
#查看自学习的数据信息
sa-learn –dump all
#查看调试信息
spamassassin –lint –D