当前位置:Linux教程 - Linux资讯 - 关于对maildrop的基本用法的看法

关于对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    下来就发测试信试试吧.

 

(出处:http://www.sheup.com)