qmail的防垃圾邮件处理

12/3/2006来源:Qmail人气:7100

最近发现公司的邮件服务器进来很多垃圾邮件,有色情的,广告的,特别是那些有颜色的,一发就是好多封,真是讨厌,没办法,马上在自己的qmail服务器上加上防止垃圾邮件的措施。

1。封ip

针对有些垃圾邮件发送方是固定的ip或者固定ip段,那我们可以限制他们的smtp连接

vi tcp.smtp

218.61.128.61:deny

限制218.61.128.61的机器跟我的qmail服务器有任何smtp的连接
或者:

218.61.128.:deny

禁止218.61.128网段的机器跟我的qmail有任何的smtp连接。

然后

tcPRules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

生成新的tcp.smtp.cdb

当然你也可以通过iptables来限制smtp端口的连接。

2。封某个帐号

主要针对某些比较正规的垃圾邮件发送者

vi /var/qmail/control/badmailfrom

编辑/var/qmail/control/badmailfrom文件(如果没有可以新建一个)将要拒收的邮件地址写入,每条记录为一行如:
    

123@123.com


  这样所有FROM来自123@123.com的邮件都会被邮件服务器拒收。

  同样也可以对一个域进行拒收,在badmailfrom文件中加入
    

@test.com


  这样所有来自test.com的任何地址的电子邮件都会被服务器拒收。


3。设置.qmail-default文件

vi /var/qmail/alias/.qmail-default

/var/vpopmail/bin/vdelivermail '' bounce-no-mailbox

这样垃圾邮件发过来,如果是一个不存在的邮箱,会自动弹回邮件,并告知no this mailbox

4。使用第三方的rbl服务,其实就是利用dns反查询,可以防止有些人自架mail server发垃圾信的行为。

我用的是中国反垃圾邮件联盟的CDL+DNS反查询方式的实时黑名单技术,这个服务是免费的,但必须申请才能使用

申请服务后,在你的SMTP启动脚本,加上/usr/local/bin/rblsmtpd,如下

#!/bin/sh

QMAILDUID=qmaild
NOFILESGID=nofiles

/usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /var/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0
smtp /usr/local/bin/rblsmtpd -r cblplus.anti-spam.org.cn/var/qmail/bin/qmail-smtpd hostname /var/vpopmail/bin
/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>%26amp;1 | /var/qmail/bin/splogger smtpd 3 %26amp;

继续补充中,将防垃圾邮件进行到底。。。。。
,