基于虚拟帐号的邮件系统(extmail)下

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

六、配置dovecot

# vi /etc/dovecot.conf (配置文件中的数字为行号)

205 mail_location = maildir:/var/mailbox/%d/%n/Maildir

……

auth default {

mechanisms = plain

注释掉原来的pam验证 795 828

869

passdb sql {

args = /etc/dovecot-mysql.conf

}

userdb password 注释掉 896 903

userdb sql {

args = /etc/dovecot-mysql.conf

}

……

把userdb的其他相关禁用

vim /etc/postfix/main.cf

#postfix的配置文件也要该

vim /etc/postfix/main.cf

home_mailbox = Maildir/

service postfix restart

# 编辑要执行查询sql的dovecot-mysql.conf文件

#vi /etc/dovecot-mysql.conf 

driver = mysql

connect = host=localhost dbname=extmail user=extmail password=extmail

default_pass_scheme = CRYPT

password_query = SELECT username AS user,password AS password FROM mailbox WHERE username = '%u' 

user_query = SELECT maildir, uidnumber AS uid, gidnumber AS gid FROM mailbox WHERE username = '%u'

接下来启动dovecot服务:

#service dovecot start

启动 Dovecot Imap: [确定]

# chkconfig dovecot on

七、安装Extmail-1.2 (先安装httpd

1、安装

# tar zxvf extmail-1.2.tar.gz

# mkdir -pv /var/www/extsuite

# mv extmail-1.2 /var/www/extsuite/extmail

# cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf (产生标准配置文件)

2、修改主配置文件

#vi /var/www/extsuite/extmail/webmail.cf

部分修改选项的说明:

SYS_MESSAGE_SIZE_LIMIT = 5242880

用户可以发送的最大邮件

SYS_USER_LANG = en_US

语言选项,可改作:

SYS_USER_LANG = zh_CN

SYS_MAILDIR_BASE = /home/domains

此处即为您在前文所设置的用户邮件的存放目录,可改作:

127 SYS_MAILDIR_BASE = /var/mailbox (127为行号)

SYS_MYSQL_USER = db_user

SYS_MYSQL_PASS = db_pass

以上两句句用来设置连接数据库服务器所使用用户名、密码和邮件服务器用到的数据库,这里修改为:

SYS_MYSQL_USER = extmail

SYS_MYSQL_PASS = extmail

SYS_MYSQL_HOST = localhost

指明数据库服务器主机名,这里默认即可

SYS_MYSQL_TABLE = mailbox

SYS_MYSQL_ATTR_USERNAME = username

SYS_MYSQL_ATTR_DOMAIN = domain

SYS_MYSQL_ATTR_PASSWD = password

以上用来指定验正用户登录里所用到的表,以及用户名、域名和用户密码分别对应的表中列的名称;这里默认即可

SYS_AUTHLIB_SOCKET = /var/spool/authdaemon/socket

此句用来指明authdaemo socket文件的位置,这里修改为:

197 SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket

3apache相关配置

由于extmail要进行本地邮件的投递操作,故必须将运行apache服务器用户的身份修改为您的邮件投递代理的用户;本例中打开了apache服务器的suexec功能,故使用以下方法来实现虚拟主机运行身份的指定。此例中的MDA为postfix自带,因此将指定为postfix用户:

修改 cgi执行文件属主为apache运行身份用户:

# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/

如果您(postfix)没有打开apache服务器的suexec功能,也可以使用以下方法解决:

# vim /etc/httpd/conf/httpd.conf

User postfix

Group postfix

<VirtualHost 192.168.1.160:80>

ServerName mail.liuyuan.com

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html

</VirtualHost>

4、依赖关系的解决

extmail将会用到perl的Unix::syslogd功能,您可以去http://search.cpan.org搜索下载原码包进行安装。

# tar zxvf Unix-Syslog-0.100.tar.gz

# cd Unix-Syslog-0.100

# perl Makefile.PL

# make

# make install

5、启动apache服务

# service httpd start

# chkconfig httpd on

八、安装Extman-1.1

1、安装及基本配置

# tar zxvf extman-1.1.tar.gz

# mv extman-1.1 /var/www/extsuite/extman

修改配置文件以符合本例的需要:

# cp /var/www/extsuite/extman/webman.cf.default /var/www/extsuite/extman/webman.cf

# vim /var/www/extsuite/extman/webman.cf

SYS_MAILDIR_BASE = /home/domains

此处即为您在前文所设置的用户邮件的存放目录,可改作:

SYS_MAILDIR_BASE = /var/mailbox

若想不使用验证码可修改

SYS_CAPTCHA_ON = 1

SYS_CAPTCHA_ON = 0 

本案例中使用了验证码。

安装安装perl-GD模块,支持验证码

# yum localinstall perl-GD-2.35-1.el5.rf.i386.rpm --nogpgcheck

下载perl-GD的rpm安装包http://down.51cto.com/data/630166

修改cgi目录的属主:

# chown -R postfix.postfix /var/www/extsuite/extman/cgi/

apache的主配置文件中Extmail的虚拟主机部分,添加如下两行:

ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi

Alias /extman /var/www/extsuite/extman/html

创建其运行时所需的临时目录,并修改其相应的权限:

#mkdir -pv /tmp/extman

#chown postfix.postfix /tmp/extman

另外为了方便查看Postfix Documentation文档

在apache的主配置文件中Extmail的虚拟主机部分,添加如下此行:

Alias /help /var/www/html/help

好了,到此为止,重新启动apache服务器后,您的Webmail和Extman已经可以使用了,可以在浏览器中输入指定的虚拟主机的名称进行访问,如下:

http://mail.liuyan.com

注册

user1 登录邮箱:

创建user2用户为user1发送一封邮件。

user1可以正常接收。

查看文档帮助

选择管理即可登入extman进行后台管理了。默认管理帐号为:root@extmail.org  密码为:extmail*123*

 

 
正确输入验证码就可以正常登录管理了。

。。。。

本文转自 刘园  51CTO博客,原文链接:http://blog.51cto.com/colynn/1091333

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
网络协议 数据安全/隐私保护 Linux
|
关系型数据库 MySQL 数据库
|
Apache 数据库 数据安全/隐私保护
|
关系型数据库 MySQL 开发工具
|
网络协议 数据安全/隐私保护 开发工具
|
关系型数据库 数据安全/隐私保护
|
开发工具 安全