原贴:http://www.edu-linux.org/viewtopic.php?f=12&t=2473
SpamAssassin的安装与配置
SpamAssassin软件的最新版本可以从www.spamassassin.org获得,本文中使用的是2.50版的tar.gz版本。它的安装过程比较简单,只需按照一般软件的安装方法即可,具体代码如下:
代码:
全选
-
$ tar -xvzf Mail-SpamAssasin-2.50.tar.gz
$ cd Mail-SpamAssassin-2.50
$ perl Makefile.PL
$ make
$ make install
SpamAssassin预设了许多默认规则,可以在/usr/share/spamassassin下找到,也可以访问http: //www.spamassassin.org/tests.html来获取这些规则的详细列表。一般情况下不需要改动修改这些预设的规则。如果用户想添 加自己的规则,可以配置通过/etc/mail/spamassassin/local.cf文件实现。建议首先在其中添加白名单(即确定不会发送垃圾邮 件的发件人列表)。具体设置代码如下:
代码:
全选
-
whitelist_from_rcvd friends@abc.com
whitelist_from_rcvd @friends.com
以上两条规则分别将friends@abc.com邮箱和@friends.com整个域加入了白名单。接下来,需要把SpamAssassin与 Sendmail整合在一起。较简单的方法是使用procmail来添加SpamAssassin过滤器。添加以下内容到/etc/procmailrc 文件:
代码:
全选
-
:0fw
| /usr/bin/spamassassin
注意,如果不希望SpamAssassin检查很大的邮件,可以对其做出限制,设置如下:
代码:
全选
-
:0fw
* < 200000
| /usr/bin/spamassassin
这段代码表示把邮件检查的大小限制在200K字节以内。
考虑到性能要求,SpamAssassin还提供了一个专门的spamd后台守护程序,可以设置为系统启动时自动启动它。在Mail- SpamAssassin-2.50/spamd/下有一个redhat-rc-script.sh脚本,将此脚本放入Red Hat的启动目录/etc/rc.d/init.d/下即可。同时,还需要对/etc/procmailrc文件做如下修改:
代码:
全选
-
:0fw
| /usr/bin/spamc -s 200000
这样就可以通过控制spamd进程来调整过滤器的运行状态。配置完成后,可以发邮件进行测试。如果看到在邮件头出现与spam检查相关的几项内容,表示SpamAssassin已经开始发挥作用。
最后,如果不想把正常邮件误标示为垃圾邮件,可以将垃圾邮件分值由默认的5调整得高些(比如8)。具体的实现方法是在/etc/mail/spamassassin/local.cf文件中加入以下代码:
代码:
全选
-
required_hits 8
然后重新启动spamd进程即可。