服务器 频道

Maildrop的一些基本用法

  【IT168 服务器学院】最近看到论坛里一些人专门问到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

  下来就发测试信试试吧.

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

0
相关文章