RHEL5+Postfix+MySql+IMAP+MailDrop+ExtMail(6)

十四、安装 maildrop-2.0.4
 
maildrop 是一个使用 C++ 编写的用来代替本地 MDA 的带有过滤功能邮件投递代理,是 courier 邮件系统组件之一。它从标准输入接受信息并投递到用户邮箱; maildrop 既可以将邮件投递到 mailboxes 格式邮箱,亦可以将其投递到 maildirs 格式邮箱。同时, maildrop 可以从文件中读取入站邮件过滤指示,并由此决定是将邮件送入用户邮箱或者转发到其它地址等。和 procmail 不同的是, maildrop 使用结构化的过滤语言,因此,邮件系统管理员可以开发自己的过滤规则并应用其中。
 
我们在此将使用 maildrop 来代替 postfix 自带的 MDA ,并以此为基础扩展后文的邮件杀毒和反垃圾邮件功能的调用;在此可能会修改前文中的许多设置,请确保您的设置也做了相应的修改。
 
1 、安装
 
courier-authlib 的头文件及库文件链接至 /usr 目录 ( 编译 maildrop 时会到此目录下找此些相关的文件 ):
# ln -sv /usr/local/courier-authlib/bin/courierauthconfig   /usr/bin
# ln -sv /usr/local/courier-authlib/include/*   /usr/include
 
maildrop 需要 pcre 的支持,因此,接下来将首先安装 pcre
# tar jxvf pcre-7.3.tar.bz2
# cd pcre-7.3
# ./configure
# make
# make check
# make install
 
# groupadd -g 1001 vmail
# useradd -g vmail -u 1001 -M -s /sbin/nologin vmail
# tar jxvf maildrop-2.0.4.tar.bz2
# cd maildrop-2.0.4
# ./configure
    --enable-sendmail=/usr/sbin/sendmail
    --enable-trusted-users='root vmail'
    --enable-syslog=1 --enable-maildirquota
    --enable-maildrop-uid=1001
    --enable-maildrop-gid=1001
--with-trashquota --with-dirsync
(./configure --enable-sendmail=/usr/sbin/sendmail --enable-trusted-users='root vmail' --enable-syslog=1 --enable-maildirquota --enable-maildrop-uid=1001 --enable-maildrop-gid=1001 --with-trashquota --with-dirsync)
# make
# make install
 
检查安装结果,请确保有 "Courier Authentication Library extension enabled." 一句出现:
# maildrop -v
maildrop 2.0.4 Copyright 1998-2005 Double Precision, Inc.
GDBM extensions enabled.
Courier Authentication Library extension enabled.
 
Maildir quota extension enabled.
This program is distributed under the terms of the GNU General Public
License. See COPYING for additional information.
 
 
2 、新建其配置文件 /etc/maildroprc 文件,首先指定 maildrop 的日志记录位置:
# vim /etc/maildroprc
添加:
logfile "/var/log/maildrop.log"
 
# touch /var/log/maildrop.log
# chown vmail.vmail /var/log/maildrop.log
 
3 、配置 Postfix
 
编辑 master.cf
# vim /etc/postfix/master.cf
启用如下两行
maildrop  unix  -       n       n       -       -       pipe
   flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
 
注意:定义 transport 的时候,即如上两行中的第二行,其参数行必须以空格开头,否则会出错。
 
编辑 main.cf
# vim /etc/postfix/main.cf
virtual_transport = virtual
修改为:
virtual_transport = maildrop
 
将下面两项指定的 UID GID 作相应的修改 :
virtual_uid_maps = static:2525
virtual_gid_maps = static:2525
修改为 :
virtual_uid_maps = static:1001
virtual_gid_maps = static:1001
 
 
4 、编辑 /etc/authmysqlrc
 
# vim /etc/authmysqlrc
MYSQL_UID_FIELD  '2525'
MYSQL_GID_FIELD  '2525'
更改为:
MYSQL_UID_FIELD  '1001'
MYSQL_GID_FIELD  '1001'
 
注意:没有此处的修改, maildrop 可能会报告 signal 0x06 ”的错误报告。
 
5 、编辑 /etc/httpd/httpd.conf ,修改运行用户 :
 
如果启用了 suexec 的功能,则将虚拟主机中指定的
SuexecUserGroup postfix postfix
修改为:
SuexecUserGroup vmail vmail
 
如果没有使用上面的功能,则修改 User Group 指令后的用户为 vmail
将前文中的如下项
User postfix
Group postfix
修改为:
User vmail
Group vmail
 
6 、将用户邮件所在的目录 /var/mailbox extman 的临时目录 /tmp/extman 的属主和属组指定为 vmail
chown -R vmail.vmail /var/mailbox
chown -R vmail.vmail /tmp/extman
chown -R vmail.vmail /var/www/extsuite/extmail/cgi/
chown -R vmail.vmail /var/www/extsuite/extman/cgi/
chown -R vmail.vmail /tmp/viewlog/
/etc/init.d/courier-authlib restart
接下来重新启动 postfix apache ,进行发信测试后,如果日志中的记录类同以下项,则安装成功
 
 
Sep 16 12:04:43 Ixor postfix/pipe[14266]: 46B491A5CB: to=<[email protected]>, relay=maildrop, delay=2306, delays=2306/0.04/0/0.07, dsn=2.0.0, status=sent (delivered via maildrop service)

你可能感兴趣的:(mysql,数据库,邮件,postfix,rhel5)