雖然在Windows的免費 hMailServer搭配SpamAssassin過濾垃圾郵件:安裝與設定裡我已經將hMailServer與SpamAssassin都設置得差不多了,hMailServer也能很方便的把AD帳號直接帶入,與我們公司的AD環境可以很容易的整合,但在看到Anti-Spam SMTP Proxy (ASSP)的功能後,便將變更Mail server的計畫往後推延,先來試試這個反垃圾郵件代理程式的功能,是否也能取代SpamAssassin。
ASSP是使用Perl撰寫的,而Perl正是擅長在字串比對的一個程式語言,在反垃圾郵件的機制上具備下列幾個特點:
- Bayesian analysis
- Penalty Box (PB) trapping
- Realtime Blackhole Listing DNSBL/RBL
- URIBL (Uniform Resource Identifier Black Listing)
- Multi-level SPF (Sender Policy Framework) validation and blocking
- SRS (Sender Rewriting Scheme) fix-up
- Session Delaying/Greylisting and connection response delaying
- Sender validation and recipient validation (LDAP)
- Multi-level attachment blocking (based on block lists or allow lists)
- As well as multiple RFC validation mechanisms.
應該是具備了大部份有效的反垃圾郵件的防制功能了。以下是安裝在Windows環境裡的步驟(Win32安裝參考):
安裝ASSP
- 下載ActivePerl 5.10.1:使用ActivePerl以建立Perl的通行環境,依正常安裝程序安裝即可,最後讓Perl安裝資料夾加入PATH環境變數裡
- 由SourceForge.net下載ASSP 1.7.5.2的程式,若想試多執行緒的2.0版本,則由這裡下載
- 將下載的檔案解壓縮後,再把子資料夾\ASSP複製到根目錄,即C:\ASSP
- 再到這裡下載需要使用到的Perl模組,將assp.mod存到C:\ASSP\assp.mod資料夾裡
- 啟動命令提示字元(DOS視窗)後執行下列指令:
c: cd \ASSP\assp.mod\install install.cmd
後續會叫用mod_inst.pl自動下載其他需要的Perl模組,經過一段不算短的時間後(約半小時吧?),當命令提示字元的大於符號出現後,表示安裝已經完成
- 用文字編輯器編輯C:\ASSP\assp.cfg,大部份的設定直接使用預設值即可,但開頭的兩個設定值則需要特別注意:
- listenPort:=25 指定ASSP使用的通訊埠,亦即原先SMTP Server使用的25
- smtpDestination:=125 ASSP代理處理完的資料再由125埠丟給SMTP Server,因此你的SMTP Server要先由25改成125(或任何一個不發生衝突的埠號,如1025、2525等)
- 開啟瀏覽器輸入網址 http://安裝的IP:55555 即能顯示管理網頁與統計網頁
- assp.cfg的設定項目繁多,完整的說明可以參考C:\ASSP\docs\assp.cfg.description文字檔。我額外還調整了的assp.cfg設定有下列幾個:
- 變更log檔的時間格式:預設LogDateFormat:=MMM-DD-YY hh:mm:ss,變更後:LogDateFormat:=YYYY-MM-DD hh:mm:ss;Log檔檔名是C:\ASSP\logs\maillog.txt,每天自動備份清空使用
- 白名單Domain設定:預設whiteListedDomains:=sourceforge.net (可以用 | 符號再接續數個網站),變更後:whiteListedDomains:=file:files/whitedomains.txt,把白名單網站寫在C:\ASSP\files\whitedomains.txt裡,一個網站一行
開始運行ASSP
初步觀察ASSP的掃描效能頗佳,在處理信件後可以看到下列幾個資料夾陸續有檔案存入:
- C:\ASSP\discarded:被拒絕寄送的有問題郵件
- C:\ASSP\spam:確實判定為垃圾的郵件
- C:\ASSP\notspam:誤判的郵件
ASSP提供了Mail介面以方便讓使用者自行協助判別郵件種類,在Mail server上建立下列帳號,再請使用者用「以附件轉寄」的方式把不同類型的郵件寄給某帳號即能自動分類:
- spam@your.domain.com:把垃圾信寄給spam@your.domain.com
- notspam@your.domain.com:把誤判為垃圾信寄給notspam@your.domain.com,使之能被修改回正常郵件
- whitelist@your.domain.com:把信箱帳號寫在信件的Body區,一個帳號一行,再寄給whitelist@your.domain.com就能變成白名單的帳號
最後再做一個排程,每天固定執行學習貝式運算處理:
c: cd \ASSP perl rebuildspamdb.pl
模組更新
在剛安裝好後,Log一直出現要安裝Perl模組MIME-Tools的訊息,我更新了幾次都不成功,最後使用下列指定終於修正了(安裝Convert-TNEF時會一併安裝MIME-Tools;指令ppm是Perl Package Manager的縮寫):
c: cd \ASSP ppm remove Convert-TNEF ppm remove MIME-tools ppm install Convert-TNEF
##
您可能也會有興趣的類似文章
- 透過ASSP的郵件介面自行控制白名單與黑名單 (0則留言, 2010/05/27)
- Anti-Spam SMTP Proxy造成郵件主機異常?! (0則留言, 2010/08/04)
- Windows的免費hMailServer搭配SpamAssassin過濾垃圾郵件:安裝與設定 (2則留言, 2010/04/23)
- [Tools] Qm: The Quick Mailer (2則留言, 2005/07/04)
- 安裝GMail Mark Read腳本做單鍵操作 (0則留言, 2006/09/06)
- 安裝telnet daemon (0則留言, 2004/12/15)
- 郵件監視器比較:PopTray與Magic Mail Monitor (3則留言, 2005/02/07)
- [QNAP NAS] 設定警訊自動寄送電子郵件的步驟 (0則留言, 2012/02/18)
- CallingID: 幫網路衝浪加上多一層的保護 (0則留言, 2006/08/18)
- SQL Server 2008 R2 Express簡易安裝紀錄 (0則留言, 2011/09/06)
- [Tools] 另一套清除垃圾物件的工具:CCleaner (0則留言, 2005/02/27)
- 用Mailbox Alert在收信時能執行命令 (0則留言, 2008/05/04)
- 用find BIG mail找出GMail的大郵件排行榜 (0則留言, 2011/05/14)
- Dropbox服務四之三:透過Dropbox保存電子郵件中的附件(SendToDropbox) (0則留言, 2012/04/28)
- Mailmoa: 另一個郵件檢查程式 (0則留言, 2005/02/16)















之前在公司用過 1.3.x 版本, 確實擋了不少垃圾信.
不過似乎不support中文 (字串比對的部份)
不知現在這版中文支援的程度如何?
非拉丁文的處理好像仍沒有進步,但Real-time Black list就能過濾掉相當多的spam了,使用了幾天,算是相當滿意了。