Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165179
  • 博文数量: 21
  • 博客积分: 517
  • 博客等级: 下士
  • 技术积分: 358
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-23 23:42
文章分类

全部博文(21)

文章存档

2015年(2)

2012年(19)

我的朋友

分类: LINUX

2012-05-17 21:38:23

用sendmail8.14.3+mimedefang2.67+SpamAssassin3.2.5构建邮件过滤网关:
工作原理:sendmail通过其milter库提供一个邮件处理和过滤的接口mimedefang实现了milter库的相关接口函数,并且提供使用perl语言进行邮件过滤的功能。
SpamAssassin是一个perl模块,该模块提供邮件过滤功能。也就是说sendmail服务器会在邮件会话的各个阶段通过unix  socket调用mimedefang,而mimedefang通过mimedefang-multiplexor
调用mimedefang.pl程序(perl程序),而该perl程序实现一个邮件过滤框架,它会自动检查是否安装SpamAssassin模块,如果安装了就调用SpamAssassin模块的相应功能。
SpamAssassin仅对邮件进行检查,并且会返回邮件评分,至于是否接受邮件/更改邮件则不在SpamAssassin中处理,而是在perl程序中处理。而mimedefang.pl实现一个完整的邮件处理框架,他
会调用/etc/mail/mimedefang-filter文件所定义的filter_begin、filter、 filter_multipart、filter_end等函数,如果要实现邮件的操作一般通过修改/etc/mail/mimedefang- filter文件来实现。另外sendmail本身提供一些机制来实现邮件过滤,正确设置这些机制也可以起到一定的作用。
安装过程:首先安装perl5.10.1,因为mimedefang2.67需要5.10以上版本,然后安装各种需要的perl模块,需要的perl模块比较多,对SpamAssassin进行配置时会有提示,模块可以到去查找,模块安装的命令一般如下:
perl Makefile.PL
make && make install
接着安装SpamAssassin和sendmail,再安装mimedefang
关于sendmail的安装和配置,网上有很多,这里的关键是需要Berkeley DB的支持,所以一定要先安装Berkeley DB,Berkeley DB最好安装在/usr目录中,否则默认配置sendmail时找不到Berkeley DB。
相关配置文件:
/etc/mail/sendmail.cf    sendmail配置文件,在sendmail8.14.3/cf/cf目录中通过sendmal.mc文件生成
/etc/mail/sa-mimedefang.cf   mimedefang的配置文件(安装了SpamAssassin后为该文件)
/etc/mail/access.db          sendmail访问控制数据库文件,定义允许哪些用户发送和转发邮件,通过makemap hash access /etc/mail/mailertable       sendmail邮件转发器定义数据库文件,定义邮件转发服务器地址,生成方式类似于access.db
/etc/mail/relay-domains     定义哪些域允许转发
/usr/share/spamassassin/     SpamAssassin的规则文件存放目录,中文的规则文件下载地址为:
阅读(1678) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~