免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 789 | 回复: 0
打印 上一主题 下一主题

基于Qmail的SpamAssassin过滤脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-28 20:02 |只看该作者 |倒序浏览
  前段时间,帮一个朋友利用业务时间搭建了一个基于Qmail的SpamAssassin(简称SA)的垃圾邮件过滤系统;SA的功能只是根据一定的规则对邮件进行打分,并在邮件头中插入一些标记,用以标示是否是垃圾邮件;但是,SA不会针对垃圾邮件进行任何后续处理,这个一定要记清楚。
  针对SA处理后的垃圾邮件或非垃圾邮件,需要依靠MDA(Mail Delivery Agent)来处理。所以,网上经常有朋友问这类问题,不过一般推荐使用MailScanner或Amavisd。
  如果对MDA(maildrop或procmail)比较熟悉,完全可以自己写过滤规则,而不用使用MailScanner或Amavisd。
  下面是自己经过多次调试后使用的过滤规则,在此与大家共享;SA的具体安装步骤可以参考官方网站或SA自带的Readme,里面会有详细的安装说明。

################################################################################
VPOP="| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox"
VHOME=`/home/vpopmail/bin/vuserinfo -d
[email=$EXT@$HOST]$EXT@$HOST[/email]
`
`test -d $VHOME/Maildir/`
if ( $RETURNCODE != 0 )
{
to /dev/null
#to "/home/vpopmail/domains/xxx.sh.cn/postmaster/Maildir/.Spam/"
exit
}
if (/^From:.*\@xxx\.sh\.cn/)
{
to "$VPOP"
exit
}
`[ -d $VHOME/Maildir/.Spam ] || /var/qmail/bin/maildirmake $VHOME/Maildir/.Spam`
`test -f .black_list`
if ( $RETURNCODE == 0 )
{
if ( $SENDER ne '' && lookup($SENDER,'.black_list') )
{
  to "$VHOME/Maildir/.Spam/"
  exit
}
}
`test -f .white_list`
if ( $RETURNCODE == 0 )
{
if ( $SENDER ne '' && lookup($SENDER,'.white_list') )
{
  to "$VPOP"
  exit
}
}
if ( $SIZE
if (/^X-Spam-Flag: YES/)
{
exception {
   to "$VHOME/Maildir/.Spam/"
}
}
else
{
exception {
   to "$VPOP"
}
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3959/showart_288340.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP