安裝選項取消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檢討改進。

文章標籤
全站熱搜
創作者介紹
創作者 Forth 的頭像
Forth

不就是個blog

Forth 發表在 痞客邦 留言(0) 人氣(0)