SpamAssassin 垃圾信標題加註**SPAM**

SpamAssassin 垃圾信標題加註**SPAM**

由 aliok 發表於 週二 9月 16, 2008 11:17 am
2008/07/09

現在 CentOS 5.2 並沒有提供這兩個rpm檔案。你必須自己建立rpm檔來安裝或者用tarbo的方式安裝,現在蔡神父有提供這二個建立好的rpm 檔來給大家下載使用,如果想要使用的請在 這裡下載。

--------------------------------------------------------------------------------

我們現在要安裝和設定 SpamAssassin。做這種工作你必須是 root:

su -
到哪兩個檔案的子目錄,然後安裝:

cd /home/username/rpmbuild/RPMS/i686
rpm -Uvh spamassassin-3.2.5-1.i686.rpm perl-Mail-SpamAssassin-3.2.5-1.i686.rpm

我自己比較喜歡用系統安裝,所以我不願意讓一般使用者改變需要的參數:

cd /etc/rc.d/init.d
編輯 spamassassin 檔案更改:

SPAMDOPTIONS="-d -c -m5 -H" ==> SPAMDOPTIONS="-d -x -m5 -H"

現在我們設定 SpamAssassin:

cd /etc/mail/spamassassin

編輯 local.cf。我自己使用的設定如下:

trusted_networks xxx.xxx.xxx/24 # 這是你 class c 之 IP
lock_method flock # 如果你在使用 NFS,請不要使用這個
required_score 5.0 # 成績超過 5.0 算是 spam
report_safe 0
use_auto_whitelist 0
use_bayes 0
use_bayes_rules 0
bayes_auto_learn 0
ok_languages all
ok_locales all

編輯 v310.pre。刪除註解符號 #:

#loadplugin Mail::SpamAssassin::Plugin::TextCat ==> loadplugin Mail::SpamAssassin::Plugin::TextCat

當一封 email 已判定是 spam 時你如果想要在主題加 *****SPAM*****,你就在 /etc/mail/spamassassin/local.cf 加:

rewrite_header Subject *****SPAM*****

為了更了解這些設定參數的意義和知道對你自己環境所需要的其它參數,請執行以下指令:

perldoc Mail::SpamAssassin::Conf

現在要檢查設定參數是否正確:

spamassassin -x -D --lint

現在 SpamAssassin 已經設定好了,你如何告訴 Sendmail 要呼叫 SpamAssassin 掃描進來的郵件?你可以使用 Sendmail 的 milter ( spamass-milt) 來做這個工作,但是我自己喜歡用 procmail 來處理。

編輯 /etc/procmailrc ﹝建這個檔案如果不存在﹞,內容如下:

:0fc
* < 256000
| /usr/bin/spamc

:0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*
/dev/null

註:SpamAssassin 只會處理郵件大小小於 256000 bytes。如果 Spam-Level 成績有八個以上的 * ﹝確定這是 spam 郵件﹞就丟掉。

一切準備好了。你必須啟動 SpamAssassin:

chkconfig spamassassin on
service spamassassin start

你可以測試 SpamAssassin 會不會抓 spam。執行以下指令:

cd /usr/share/doc/spamassassin-3.2.5
spamc < sample-spam.txt

這樣就好了。每次 Sendmail 收到郵件,SpamAssassin 會過濾這郵件判斷是否 spam。我建議同時使用 milter-greylist 效果非常好。現在你可以輕鬆了,怕你會無聊因為已經沒有可殺的 spam!