Postfix已经安装好了,Spamassassin也可以用了,现在的问题是怎么样把那些垃圾邮件移动到垃圾邮件箱,我准备用MAILDROP,我的POP软件以及SMTP认证都是用的Courier。
在ubuntu下安装maildrop非常简单。这里主要说说如何让Postfix\Courier\maildrop能相互工作起来。
第一步:配置Postfix的main.cf文件:
在main.cf文件里加入以下配置
maildrop_destination_recipient_limit=1
mailbox_command=maildrop
virtual_transport=maildrop(我用的是virtual mailbox)
第二步:配置Postfix的master.cf文件:
加入或替换原来的virtual
maildrop unix - n n - - pipe Flags=Fqhu user=vmail args=/usr/bin/maildrop -w 90 -d ${user}@${nexthop}${recipient}${user}${nexthop}${sender}
上面这段配置应在一行里,其中user=vmail(:groupname)是有权限读写Maildir的用户,args=/usr/bin/maildrop是maildrop程序位置,-w 90是做quota用的,也就是达到quota的90%,进入的邮件会被defer(延期处理),对于后面那些参数建议看postfix相关文档。
第三步: 配置Courier的authmysqlrc
因为原来已经基本配置好,我这里只改了一下SQL部分
MYSQL_SELECT_CLAUSE SELECT username,password,'','3000','3000',CONCAT('/media/maildisk/mail/',username),CONCAT('/media/maildisk/mail/',maildir),CONCAT(quota*1000000/1048576),' S'),name from mailbox where username='$(local_part)@$(domain)' and status='Acitve'
上面的SQL,其中两个3000表示虚拟用户的UID和GID,CONCAT('/media/maildisk/mail/',username)这个表示的是虚拟用户的HOME目录,CONCAT('/media/maildisk/mail/',maildir)表示的是Maildir,其实和前者是一样的,CONCAT(quota*1000000/1048576),' S')表示的QUOTA,因为我用的是postfixadmin创建邮箱的.在postfixadmin里1M=1024*1024=1048576,在maildrop里1M=1000*1000=1000000。
第四步:配置Maildrop的/etc/maildroprc文件
我最初没有加入maildrop规则,只是让他能工作,由于前面几个文件设置,我这里maildroprc文件看起来是这样的:
SHELL="/bin/sh"
DEFAULT=“/$HOME/”(如果使用 mbox格式,那你就不要加后面那个/,下同)
MAILDIR="/$HOME/"
现在所有的都配置好了,应该可以工作了
可以测试一下:authtest -s login
xxxx@xxxx.com
如果看到你想要的那些东西(比如HOME,MAILDIR,QUOTA等)那就说明正确了,发一封信测试一下,看看maillog里maildrop是否有报错或警告。