Linux主機電子郵件 Openwebmail + spamassassin 擋垃圾信的設定方法
Linux主機電子郵件 Openwebmail + spamassassin 擋垃圾信的設定方法
首先先到官方網站看安裝的方式:
http://openwebmail.com/openwebmail/download/redhat/howto/spam/howto.txt
(裡面的第 4. 可以略過)
再來才是重頭戲,也是我卡了好幾天才發現的地方:
在 openwebmail.conf 裡面的設定找到 enable_spamcheck 這段,照以下的參數做修改就可以了。(下面的例子也把學習廣告信的功能也打開)
spamcheck_pipe /usr/bin/spamc -c -x -t60 -u @@@USERNAME@@@
learnham_pipe /usr/bin/sa-learn –local –ham
learnspam_pipe /usr/bin/sa-learn –local –spam
enable_spamcheck yes
enable_learnspam yes
spamcheck_source_allowed all
之後再照官方的說明文件,以 sample-spam.txt 寄一封測試的廣告信,如果設錯的話,在 openwebmail.log 裡面就會出現:
Sun Oct 24 21:52:06 2004 – [31314] (192.168.1.1) neo – spamscheck – pipe error – spamd error, exit=2
55, ret=From root@xxx.com Sun Oct 24 21:52:01 2004
成功的話就會出現:
Sun Oct 24 22:18:20 2004 – [31484] (192.168.1.1) neo – spamcheck – spam 1000.0/10 found in msg <2004
1024141811.CF83A19434C@xxx.com>
另外廣告信學習的功能如果設定成功的話,在使用者點選學習功能的時候,在 log 裡就會看到類似以下的訊息:
Sun Oct 24 22:25:13 2004 – [31634] (192.168.1.1) neo – learnspam – 1 learned, 1 examined
如果學習的功能起不來,就要確定 CmdLearn.pm 是不是非 root 權限的人可以讀到? 如果不行的話,就下 chmod 打開權限就可以了。如果不確定 CmdLearn.pm 路徑的話可以下 #locate CmdLearn.pm 找看看。
但是要注意的是目錄的權限也要開,以我的環境 CmdLearn.pm 在 RH9 的 RPM 預設是裝在:
/usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/
而我是乾脆把整個目錄都把 Group 跟 Public 讀取跟執行的權限打開:
chmod 555 /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/ -R
這樣每個使用者就可以開始使用 OpenWebMail 的擋廣告信及學習廣告信的功能了。
本文引用來至:http://www.neo.com.tw/archives/339