此前我已经搭建好了qmail+mysql+vpopmail+clamav的服务器平台。只是无法扫描rar格式的附件。
经过CU坛友的帮助,找到了解决方案。
下面把坛友的帖子转一下。供有需要的朋友参考
1、修改tcp.smtp
127.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
:allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
然后#tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
2、安装daemontools-0.76.tar.gz
最新版本在这里:http://cr.yp.to/daemontools/install.html
tar zxvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
package/install
如果安装时候报错,则需要打daemontools-0.76.errno.patch
http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
patch -p1 < daemontools-0.76.errno.patch
根据实际情况,调整softlimit的值。
vi /var/qmail/smtp
添加 /usr/local/bin/softlimit -m 25000000
3、下载最新的unrar for linux
http://www.rarlab.com/
tar xzvf rarlinux-3.4.0.tar.gz
cd rar
make install
vi /var/qmail/bin/qmail-scanner-queue.pl
my $clamscan_binary='/usr/local/bin/clamscan';
my $clamscan_options=" --unrar=/usr/local/bin/unrar -r --mbox --disable-summary --max-recursion=10 --max-space=1000000";
使其支持unrar功能
重启服务器使其重新加载(比较简单,心里踏实)
如果还不成,则执行第四种方法,但是我没试过。(部分大个的rar包确实还是会报错,但是这三种方法可以解决了大部分rar包)
4、可以修改qmail-scanner-queue.pl文件
修改这里
sub clamscan_scanner {
#ClamScan scanner
#添加下面这句,大于10M的就不检查了。
if ($msg_size > 10000000) {
&debug("clamav: message too big - skip it");
return;
}
5、给公司所有人发封信,告诉他们发压缩包的时候发zip格式的。.....
我本人是用第三种方法实现的。因为我tcp.smtp都已经设置好了。
在此对CU坛友表示感谢!!