关于对maildrop的基本用法的看法

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

最近看到论坛里一些人专门问到maildrop的用法问题,而对于邮件过滤这一方面也是比较关注的.我就把我使用maildrop的一点心得写出来.其实我也是从sqwebmail或者wmail的使用中找到的(这也是为什么我之前回复都是让大家装一下wmail或sqwebmail使用一下的原因),所以只涉及到了maildrop的一点点基本用法,希望对大家有所帮助.

首先安装maildrop,这个很简单,先去下载

http://class.868cn.com/download/maildrop-1.5.2.20030423.tar.gz

然后解压,进入目录里

./configure

make

make install

一般就可以安装成功.(当然之前要安装了qmail,vpopmail)安装成功后会在/usr/local/bin目录下生成一个maildrop文件.就是使用它来做过滤的

我还是假使wangxu.com为虚拟域,wangxu@wangxu.com为其中一个用户.下面就对wangxu@wangxu.com所收到的邮件进行一些过滤规则.

进入用户的邮件目录

cd /home/vpopmail/domains/wangxu.com/wangxu

建立.qmail文件.

vi .qmail

内容为:

代码:

|/usr/local/bin/maildrop ./.mailfilter

注意.qmail文件的属性

chmod 600 .qmail

chown vpopmail:vchkpw .qmail

再建立.mailfilter文件

vi .mailfilter

内容为:

代码:

##Op:contains

##Header:FROM

##Value:test@test.com

##Folder:*收信人拒收您的邮件

##From:

##PlainString

##Name:过滤发件人包含test@test.com的信件

if ((/^FROM:.*test\@test\.com/))

{

echo "收信人拒收您的邮件"

EXITCODE=77

exit

}

##Op:contains

##Header:FROM

##Value:test@test.com

##Folder:.Trash

##From:

##PlainString

##Name:将发件人包含test@test.com的信件保存在垃圾箱

if ((/^FROM:.*test\@test\.com/))

{

to "./Maildir/.Trash/."

}

to "./Maildir/."

其中##后面的都为注释部分,可以不去管它.

if ((/^FROM:.*test\@test\.com/))

{

echo "收信人拒收您的邮件"

EXITCODE=77

exit

}

这一段表示发信人地址中包含test@test.com的就拒绝接受,并回复发信人一封拒收信件,内容说明原因"收信人拒收您的邮件".其中的EXITCODE=77不加也可以(过滤整个域的信件也可以这样用,大家自己想想)

if ((/^FROM:.*test\@test\.com/))

{

to "./Maildir/.Trash/."

}

这一段表示发信人地址包含test@test.com的就自动转移到垃圾箱.

注意最后一句to "./Maildir/."

它表示当不符合上面所提到的过滤规则时的邮件就正常的发到wangxu@wangxu.com的信箱里.

这句一定要有,不然会收不到信的.

同时也要注意.mailfilter的属性和.qmail是一样的

chmod 600 .mailfilter

chown vpopmail:vchkpw .mailfilter

下来就发测试信试试吧.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有