- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(精)搭建postfix+dovecot+ courier-authlib+sasl2+mysql邮件系统
PAGE \* MERGEFORMAT 36
(精)搭建postfix+dovecot+ courier-authlib+sasl2+mysql邮件系统
一、系统逻辑结构:xvxc
整个系统主要包括,用来发信的SMTP, 用来收信的POP3和IMAP, 其中Postfix在整个系统中充当MTA的作用,而Dovecot则充当MDA的功能,它提供对外取信的接口,其中用户可以使用如下三种协议来取信:
POP3 -- 110/993
IMAP -- 143/995
WEB-MAIL – 80/443
MySQL在系统中主要起的作用是存储邮件的虚拟域及磁盘配额等信息,而Extman则为管理员提供一个管理邮件的web界面,而Extmail则为普通用户提供相应的邮件操作功能。 Cyrus-SASL函数库主要是为SMTP发信进行验证,而它要操作数据库,则需要依赖于Courier-authlib来操作数据库,进而实现相应的验证操作。
接下来我们来看几种常见的操作的过程:
(1) 外部邮箱发邮件到本域。当外地邮件服务器发送邮件到本域时,如果满足要求则被本系统的postfix 软件接收处理,如果本系统加了邮件过滤什么的,它会阻止不满足要求的邮件,如果满足则postfix会自己去查询mysql,进而得到用户的收件箱,再将邮件存放到相应用户的邮件箱中[postfix会通过tcp/ip方式去查询mysql数据库]。
(2) 通过本域发送邮件。当用户想要通过本域来发送邮件时,需要先提供用户名和密码
到postfix, 接下来postfix会将用户名和密码通过Cyrus-SASL函数库来进行验证,由于
我们的验证信息存放在mysql中,所以Cyrus-SASL需要借助于Courier-authlib连接到
数据库,进而取得相应信息,如果验证失败,则拒绝发信,如果成功,则通过Postfix
的SMTP将信件发送到本域或其它邮件服务器中。
(3) 读取本域邮件。当用户想要从本域中读取自己的邮件时,它会通过网络(其前端操作
界面可以是Extmail等,也可自己开发) 发出请求到Dovecot, 接下来Dovecot会通过
查询mysql来验证用户的身份,如果验证通过,将会使用查询得到的用户邮箱地址,
进而进行收信操作。
二、具体安装过程。
1. (1)安装操作系统(我选的是CentOS-6)。安装时选择“Web Server”、“Dns Name
Server”、“MySQL Database Server”、“Development Tools”和“Kernel Development”等
软件包组(“Core”和“Base”组是默认必选的软件包)。安装完成后一般需要装上如下
rpm包 (自己从操作系统光盘的Packages目录下查找):
[root@Mail ~]# rpm -qa | grep postgresql
postgresql-libs-8.1.22-1.el5_5.1
postgresql-devel-8.1.22-1.el5_5.1
postgresql-8.1.22-1.el5_5.1
pexpect-2.3-3.el5
expect-5.43.0-5.1
rpm -ivh libtool-ltdl-devel-1.5.22-6.1.i386.rpm
rpm -ivh mysql-devel-5.0.45-7.el5.i386.rpm
rpm -ivh openldap-servers-2.3.43-3.el5.i386.rpm
rpm -ivh openldap-servers-sql-2.3.43-3.el5.i386.rpm
rpm -ivh pcre-6.6-2.el5_1.7.i386.rpm
rpm -ivh pcre-devel-6.6-2.el5_1.7.i386.rpm
(2) 关闭SEliux。
修改/etc/selinux/config文件中的SELINUX= 为 disabled ,然后重启,如果不想重
启系统,使用命令setenforce 0。注:setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式。
在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux
查看selinux状态:
[root@Mail postfix]# /usr/sbin/sestatus -v
SELinux status:
文档评论(0)