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 |