转载http://http://wiki.extmail.org/%E9%99%86%E3%80%81%E9%85%8D%E7%BD%AEmaildrophttp://wiki.extmail.org/%E9%99%86%E3%80%81%E9%85%8D%E7%BD%AEmaildrop,只是中间有少许的更改

1、安装Courier-Authlib

安装以下软件包:

shell

# yum install courier-authlib

# yum install courier-authlib-mysql

编辑/etc/authlib/authmysqlrc文件:

shell

# vi /etc/authlib/authmysqlrc

并将其内容清空,然后增加如下内容:

MYSQL_SERVER              localhost

MYSQL_USERNAME           extmail

MYSQL_PASSWORD           extmail(这个为数据库密码,为了安全建议更改)

MYSQL_SOCKET              /var/lib/mysql/mysql.sock

MYSQL_PORT                 3306

MYSQL_OPT                  0

MYSQL_DATABASE           extmail

MYSQL_USER_TABLE         mailbox

MYSQL_CRYPT_PWFIELD     password

MYSQL_UID_FIELD           uidnumber

MYSQL_GID_FIELD           gidnumber

MYSQL_LOGIN_FIELD        username

MYSQL_HOME_FIELD        homedir

MYSQL_NAME_FIELD        name

MYSQL_MAILDIR_FIELD     maildir

MYSQL_QUOTA_FIELD       quota

MYSQL_SELECT_CLAUSE     SELECT username,password,"",uidnumber,gidnumber,\

                              CONCAT('/home/domains/',homedir),               \

                             CONCAT('/home/domains/',maildir),               \

                             quota,                                          \

                             name                                            \

                             FROM mailbox                                    \

                             WHERE username = '$(local_part)@$(domain)'

修改authdaemonrc文件

shell

# vi /etc/authlib/authdaemonrc

修改如下内容:

authmodulelist="authmysql"

authmodulelistorig="authmysql"

2、启动courier-authlib

shell

# service courier-authlib start

如一切正常,命令行将返回如下信息:

Starting Courier authentication services: authdaemond 

修改authdaemon socket目录权限

如果该目录权限不正确修改,maildroppostfix等将无法正确获取用户的信息及密码认证:

shell

# chmod 755 /var/spool/authdaemon/

3、安装maildrop

shell

# yum install maildrop

配置master.cf 为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的配置内容,并改为:

maildrop   unix        -       n        n        -        -        pipe

  flags=DRhu user=vuser argv=maildrop -w 90 -d ${user}@${nexthop} ${recipient} ${user} ${extension} {nexthop}

注意:flags前面有两个空格

配置main.cf 由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数:

maildrop_destination_recipient_limit = 1

4、测试maildropauthlib支持

shell

# maildrop -v

看是否出现以下内容:

maildrop 2.1.0 Copyright 1998-2005 Double Precision, Inc.

GDBM/DB 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.

注意事项:

1、如需重新编译Maildrop软件包,必须先获得其源码rpm包,并且必须先行安装courier-authlib及其devel软件包,否则编译后的maildrop将无法打开authlib支持。

2maildrop RPM包安装时,会自动创建vuser用户及vgroup用户组,专门用于邮件的存储,vuser:vgroupuid/gid都是1000,这与一般的邮件文档中提及用postfix用户存邮件不一样。因为postfix用户的uid一般都低于500,而Suexec模块编译时对UID/GID的要求是要大于500,因此使用postfix用户不能满足要求。其次,如果用Maildrop作为投递代理(MDA),以postfix身份投递的话,会导致postfix MTA错误。