当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

邮件过滤器 maildrop的基本用法

    最近看到论坛里一些人专门问到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

    下来就发测试信试试吧。

    这只是maildrop的一点基本的用法。比较完整的用法大家可以去这里http://www.flounder.net/~mrsam/maildrop/maildropfilter

相关内容
赞助商链接