最近看到论坛里一些人专门问到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为虚拟域,[email protected]为其中一个用户.下面就对[email protected]所收到的邮件进行一些过滤规则. 进入用户的邮件目录 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:[email protected] ##Folder:*收信人拒收您的邮件 ##From: ##PlainString ##Name:过滤发件人包含[email protected]的信件 if ((/^FROM:.*test\@test\.com/)) { echo "收信人拒收您的邮件" EXITCODE=77 exit } ##Op:contains ##Header:FROM ##Value:[email protected] ##Folder:.Trash ##From: ##PlainString ##Name:将发件人包含[email protected]的信件保存在垃圾箱 if ((/^FROM:.*test\@test\.com/)) { to "./Maildir/.Trash/." } to "./Maildir/." 其中##后面的都为注释部分,可以不去管它. if ((/^FROM:.*test\@test\.com/)) { echo "收信人拒收您的邮件" EXITCODE=77 exit } 这一段表示发信人地址中包含[email protected]的就拒绝接受,并回复发信人一封拒收信件,内容说明原因"收信人拒收您的邮件".其中的EXITCODE=77不加也可以(过滤整个域的信件也可以这样用,大家自己想想) if ((/^FROM:.*test\@test\.com/)) { to "./Maildir/.Trash/." } 这一段表示发信人地址包含[email protected]的就自动转移到垃圾箱. 注意最后一句to "./Maildir/." 它表示当不符合上面所提到的过滤规则时的邮件就正常的发到[email protected]的信箱里. 这句一定要有,不然会收不到信的. 同时也要注意.mailfilter的属性和.qmail是一样的 chmod 600 .mailfilter chown vpopmail:vchkpw .mailfilter 下来就发测试信试试吧.
(出处:http://www.sheup.com)