快捷搜索:   nginx

关于对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为虚拟域,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
  
  下来就发测试信试试吧.
顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论