1. 首先, 我們要下載一些必要檔案.
2. 安裝 ActivePerl 到 C:\perl 目錄. 因為 Perl 安裝後會更新系統路徑加入 Perl 的目錄, 在此強烈建議在安裝完 ActivePerl 後要將雷電MAILD重新啟動來套用到最新的系統環境設定值.
3. 將 SpamAssassin 的 ZIP 壓縮檔解到 C:\Mail-SpamAssassin-3.1.0
4. 將 NMAKE 執行自解出兩個檔案 NMAKE.exe 和 NMAKE.err, 並拷到 C:\perl\bin 目錄下.
5. 到左下方的 [開始] -> [執行..] -> 輸入 cmd 打開一個 dos prompt 視窗, 請輸入 echo %PATH% 來確認系統路徑有 C:\perl\site\bin. 若沒有的話, 請到 [控制台] -> [系統] -> [進階] -> [環境變數] -> [系統變數] -> 找到 Path 欄位並加上 C:\perl\bin 後, 再重新開出一個 dos prompt 視窗並再次啟動雷電MAILD 套用環境變數.
6. 將 dos prompt 視窗路徑進到 C:\Mail-SpamAssassin-3.1.0 目錄裡.
7. 輸入指令 perl makefile.pl , 它會問你
Build spamc.exe (environment must be set up for C compiler)? (y/n) [y] n
請回答 n , 接著它會問你
What email address or URL should be used in the suspected-spam report
text for users who want more information on your filter installation?
(In particular, ISPs should change this to a local Postmaster contact)
default text: [the administrator of that system]
請輸入一個負責的 email address 專門收 spamassassin 的報告. 接著出現一串訊息, 等待它跑完就好了, 其中出現 module missing 的訊息不用理會.
8. 輸入指令 nmake , 它會開始進行編譯.
9. 輸入指令 nmake install , 然後會開始將 spamassassin 安裝到 perl 目錄裡. 10. 將
c:\perl\site\share\spamassassin 這目錄下的檔案拷到
c:\usr\share\spamassassin 目錄下 ( 此
c:\usr\share\spamassassin 目錄要自行建立)
11. 將
c:\perl\site\etc\mail\spamassassin 這目錄下的檔案拷到
c:\etc\mail\spamassassin 目錄下 (此
c:\etc\mail\spamassassin 目錄要自行建立)
12. 找到 C:\perl\site\bin\spamassassin.bat 這個檔, 將它的唯讀屬性取消, 打開檔案, 找到位於第二行的 @echo off , 在之後第三行插入以下兩行設定值後存檔. NAME Server 就是 DNS Server, 此文件是以 168.95.1.1 為 DNS Server.
SET RES_NAMESERVERS=168.95.1.1
SET LANG=en_US
13. 接著我們要進行測試了. 在 dos prompt 視窗, 進到 C:\Mail-SpamAssassin-3.1.0 目錄, 輸入
spamassassin -D -t < sample-spam.txt > spam.txt
建議用 UltraEdit 打開 sample-spam.txt 和 spam.txt (用 notepad 打開這 unix 格式文字檔, 會有換行的問題), 假如你有在 spam.txt 裡面有看到
X-Spam-Flag: YES
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on arnor-ex
X-Spam-Level: **************************************************
X-Spam-Status: Yes, score=1000.0 required=5.0 tests=GTUBE,NO_RECEIVED,
NO_RELAYS autolearn=no version=3.1.0
那表示你的 spamassassin 模組已經可以運作了.
倘若你要測試非廣告信, 則是輸入
spamassassin -D -t < sample-nonspam.txt > nospam.txt
14. 到 C:\Perl\site\etc\mail\spamassassin 的目錄下, 打開 local.cf 檔, 修改以下:
a) 把 rewrite_header Subject *****SPAM***** 的前頭 # 號拿掉
b) 把 report_safe 的前頭 # 號拿掉 , 並改成 report_safe=0
15. 並請下載國外使用者 Jeroen 的個人創作 SpamAssassin VBScript 程式, 將 ZIP 中的 SpamAssassinVBS.vbs 解到 c:\mail 目錄(自行建立此目錄), 並再建立 c:\mail\spam\BusyCheck\ 和 c:\mail\spam\BusySpam\ 兩個目錄.
16. 再打開 SpamAssassinVBS.vbs , 按照您環境的不同, 可能要修改檔案中的一些路徑設定, 要注意的有:
- Const strBusyCheck = "c:\mail\spam\BusyCheck\"
這個 c:\mail\spam\BudyCheck\ 是那些被 spamassassin 檢查中的檔案的暫存目錄.
- Const strBusySpam = "c:\mail\spam\BusySpam\"
這個 c:\mail\spam\BusySpam\ 是那些被 spamassassin 檢查出廣告信時的暫存目錄.
- Const strLogPath = "c:\mail\SpamAssassin.log"
設定 spamassassin 的 log 路徑
- Const strNoSpamFile = "nospam.txt"
倘若使用者只想讓信被 spamassassin 檢查並記錄 spam result 在信的檔頭, 並不想讓信被移到 \-unsolicited- 目錄存放的話, 就要建立個 nospam.txt 放在使用者的信箱裡, 用來表示不移動信, 將由使用者自己的客戶端郵件軟體來自行判斷信檔頭的 SpamAssassin 資訊.
- Const strClamWinExePath = "d:\clamwin\bin\clamscan.exe"
ClamWin 的 clamscan.exe 路徑, 當然也可以利用這批次檔來執行查毒. 預設則是停用.
- Const strClamWinTempDir = "d:\clamwin\temp"
ClamWin 查毒時的暫存目錄.
- Const strSpamAssassinBatPath = "c:\perl\site\bin\spamassassin.bat"
spamassassin 的執行批次檔路徑
- Const strGlobalWhiteList = "c:\mail\whitelist.txt"
共用的白名單路徑
17. 打開雷電MAILD 的事件處理器,
[啟用事件處理器] -- 打勾
[全部收到的信件] -- 打勾
在執行外部程式欄位輸入
C:\mail\spamassassinVBS.vbs
在參數欄位輸入
//b file=%F from=%S
(//b 表示不跳出除錯訊息視窗) 然後按新增, 給個名稱為 spamassassin 並在列表中打勾表示要啟用它.
18. 接下來, 您可以寄封信到自己的信箱做測試. 若無誤的話, 您應該會看到類似如下的記錄.
[2006/6/8 下午 10:19:18] [4024] SMTP 服務接受從 192.168.0.2 來的連線
[2006/6/8 下午 10:19:18] [4024] 192.168.0.2 要求 SMTP 服務 - 寄信人是 arnor@raidenmaild.com
[2006/6/8 下午 10:19:18] [4024] 192.168.0.2 - 郵件內容已收到 (To:arnor1@raidenmaild.com) 13050 bytes ( 52.2 KB/s)
[2006/6/8 下午 10:19:18] [4024] SMTP 服務中斷從 192.168.0.2 來的連線
[2006/6/8 下午 10:19:18] 儲存郵件到 <arnor1> 的信箱, 檔名為 _20060608221918-557005657-4024.eml 13164bytes
[2006/6/8 下午 10:19:18] 找到符合事件(spamassassin), 且執行事件程序成功(C:\mail\spamassassinVBS.vbs //b file="H:\WORK\test event\Inboxes\arnor1\_20060608221918-557005657-4024.eml" from=arnor@raidenmaild.com)
註: 當您系統執行 vbscript 時, 可能防毒軟體會偵測到並詢問您要不要讓它執行, 請把它設定允許執行.
每當你修改一次 SpamAssassinVBS.vbs, 都會被要求重新授權一次. 如以下圖示:
19. 接著我們登入 Webmail 去看這封信的處理結果, 看看信的標題有無被加上 *******SPAM****** 字樣(您也可以修改spamassassin.VBS 來讓廣告信被移到使用者的未經驗證目錄). 並且您可以點 [檔頭] 來觀看該信的檔頭資訊. 應該會看到類似如下的內容.
X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on arnor-ex
X-Spam-Level:
X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED,AWL,HTML_MESSAGE autolearn=unavailable version=3.1.0
從 X-Spam-Status: No 就可以看出這封信不被認為是廣告信.
20. 做到這邊您已完成基本的 SpamAssassin 的架設並應用在雷電MAILD上了. 恭喜. ^^
感謝您看完此篇文章
回知識庫首頁
最近更新日期: 2011/12/08 |