close
安裝選項取消SQLITE2,改用POSTGRESQL74,編譯、安裝後執行:
chmod o+x /usr/local/bin/dspam
讓大家都能執行dspam(好孩子不要學:-)。接著建立資料庫,pgsql_objects.sql是用smallint,一下就爆炸了,所以改成int:
createdb -E SQL_ASCII dspam cat /usr/local/share/examples/dspam/pgsql/pgsql_objects.sql | sed "s/smallint/int/" | psql dspam
再修改相關設定檔。
dspam.conf: TrustedDeliveryAgent "/usr/local/bin/procmail" UntrustedDeliveryAgent "/usr/local/bin/procmail -d %u" Preference "signatureLocation=headers" # Preference "showFactors=on" ParseToHeaders on
/usr/local/etc/postfix/main.cf:
virtual_alias_maps = hash:/usr/local/etc/postfix/virtual
/usr/local/etc/postfix/virtual,加入下列設定後執行postmap virtual:
@spam.zbwei.net spamuser @fp.zbwei.net fpuser
/etc/aliases,加入下列設定後執行newaliases:
spamuser: "| /usr/local/bin/dspam --class=spam --source=error" fpuser: "| /usr/local/bin/dspam --class=innocent --source=error"
/usr/local/etc/procmailrc: :0fw | /usr/local/bin/dspam --stdout --deliver=innocent,spam
用--deliver=innocent,spam會讓所有email通過,如果要讓被DSPAM當成spam的email人間蒸發,用--deliver=innocent即可。
$HOME/.procmailrc: :0: * ^X-DSPAM-Result: Spam /home/forth/mail/spam
將DSPAM認為是垃圾信的email放進專門用來放垃圾信件的spam檔。最後執行postfix reload讓設定生效就可以了。收信時,可以把應該是spam卻未分類成spam的email「以附加檔案方式轉寄」至spam dash forth at spam dot zbwei dot net,錯認為spam的email寄至fp dash forth at fp dot zbwei dot net,讓DSPAM檢討改進。
全站熱搜