您好,欢迎访问三七文档
搭建邮件服务器大纲一、mail协议二、mail组件三、mail工作原理(两种对比)四、安装前的准备工作五、安装并配置LAMP环境六、安装并配置postfixadmin七、安装并配置phpmyadmin八、配置postfix邮件发送代理九、安装并配置dovecot邮件检索代理十、测试SMTP与POP3服务十一、安装并配置WebMail(Roundcubemail)十二、安装并配置病毒扫描与垃圾邮件过滤十三、安装并配置managesieve插件十四、常见问题分析注:系统,CentOS6.4X86_64。软件,全部都是RPM包,有兴趣的博友可以尝试一下全部源码包安装!(所安装的主要软件如下,LAMP+Postfix+Dovecot+PostfixAdmin+Roundcubemail+Amavisd-new+ClamAV+SpamAssassin+Managesieve)软件包下载一、mail协议mail使用的协议有,协议名称协议类型端口号smtptcp25pop3tcp110smtpstcp465pop3stcp995imaptcp143imapstcp993二、mail组件1.MTA:mailtransferagent邮件传输代理常见软件,12345Exchange(微软)Sendmail开源的软件目前有50%的邮件服务器使用这个软件Postfix现在用的挺多Qmail昙花一现Exim(英国剑桥大学开发的)2.MRA:mailretravialagent邮件检索代理常见软件,12courier-imap:pop3,imap4,imaps,pop3s(俄罗斯开发)dovecot(主流)3.MDA:maildeliveryagent邮件投递代理常见软件,12procmail(postfix默认)maildrop(功能强大,效率高)4.MUA:mailuseragent邮件用户代理常见软件,1234outlookexpressFoxmailpine(linux)mutt(linux,经常用到的)5.Mailbox信箱123mailboxmaildir(主流)两者的主要区别,mailbox是把所有邮件放在同一个文件中,maildir把每个用户的邮件都单独存放三、mail工作原理1.常规架构如下图,各组件具体说明(1).常用的客户端12MailClient:outlook,foxmail等WebBrowser:IE,Firefox,Chrome等(2).Postfix,最常用的MTA,我们通过postfix来发送邮件(3).Dovecot,最常用的MRA,我们通过dovecot来收发邮件(4).amavisd-new,可以理解成一个代理,Postfix把邮件交给他,他负责联系杀毒和反垃圾(5).SpamAssassin,防垃圾邮件,是邮件系统的基本功能,SpamAssassin,是最有名的,尤其是和AmavisdClamAV结合起来,这是一个经得起考虑的组合(6).ClamAV,对邮件进行病毒扫描(7).Cyrus-SASL,认证函数库(8).Courier-Authlib,调用mysql数据库进行认证(9).WebMail,通过浏览器来管理收发邮件(10).OpenLDAP或MySQL,虚拟用户或虚拟域的存放数据库(11).Maildir或Mailbox,用来存放用户邮件,两者的区别在于maildir为每个用户单独存放邮件,mailbox是所有邮件都存放在同一文件(12).phpLDAPadmin,管理LDAP工具,用来管理虚拟用户与虚拟域2.具体工作流程(1).当邮件通过outlook或foxmail发送到服务器的25端口,postfix接受连接,它会做一些基本检查发送者是否在黑名单或者实时黑名单,如果在黑名单,马上拒绝是否是授权用户,是授权可以进行转发接收者是否是服务器的用户,在这里postfix调用Cyrus-SASL认证函数库,并通过Courier-Authlib去mysql数据中验证用户,如果不是,马上拒绝如果我们启用了灰名单,会进行判断是否会拒绝邮件或者接收(2).postfix把邮件通过10024端口交给amavis来处理,注意amavis,只会检查邮件而不会丢弃或者拒绝邮件(如上图)(3).amavis调用SpamAssassin检查邮件是否是spam,如果SpamAssassin认为邮件是垃圾邮件,会给邮件打上标记spam(如下图)(注:大家会看到,只会给邮件打上spam标记,我们还是可以收到这个邮件的)(4).amavis调用ClamAV,看邮件是否含有病毒(5).amavis把检查完的邮件,通过10025端口重新把邮件交回给postfix(6).postfix把邮件交给LDA(localdeliveryagent),LDA是负责本地邮件投放到用户的邮箱,postfix默认使用procmail投递邮件(我们也可以使用其它投递代理如,maildrop)到用户的邮箱并以maildir的方式存放在硬盘上(7).用户使用邮件客户端,通过pop3或imap协议进行连接并管理邮件,webmail是通过imap的方式来读取或管理邮件总结,从上面的工作流程我们可以看到用Cyrus-SASL,Courier-authlib,Maildrop太麻烦了。一大堆组件,邮件系统本来就很杂。我以能简单则简单的原则进行了精简而且效率更高,Dovecot目前已经实现了SASL,而且Dovecot的SASL能够自动CACHE查询结果,这个是比较好的。并且Dovecot还可以当LDA使用。而Postfix也支持Dovecot的SASL验证。Postfix可以直接使用Dovecot的后台认证,不需要分开配置。(如果使用Courier,我们必须安装配置额外的认证软件,比如Saslauthd,配置这个,会是一个恶梦,如果出现问题,很难排错),并且Dovecot,可以很方便实现磁盘配额的功能。Dovecot作为Courier的可替换组件,Dovecot在磁盘读写量上比Courier减少25%左右,内存占用也比Courier节省10%到70%不等。好了,说了这么多下面我们来看一下,我们的精简架构!3.精简架构经过与上面的对比我们明显看到简单了许多,嘿嘿!下面我们说一下具体的工作流程,(1).当邮件发送到服务器的25端口,postfix接受连接,它会做一些基本检查发送者是否在黑名单或者实时黑名单,如果在黑名单,马上拒绝是否是授权用户,是授权用户可以进行转发接收者是否是服务器的用户,Postfix通Dovecot提供的SASL进行认证,如果不是,马上拒绝如果我们启用了灰名单,会进行判断是否会拒绝邮件或者接收(2).postfix把邮件通过10024端口交给amavis来处理,注意amavis,只会检查邮件而不会丢弃或者拒绝邮件(3).amavis调用SpamAssassin检查邮件是否是spam,如果SpamAssassin认为邮件是垃圾邮件,会给邮件打上标记spam(同上)(4).amavis调用ClamAV,看邮件是否含有病毒(5).amavis把检查完的邮件,通过10025端口重新把邮件交回给postfix(6).postfix把邮件交给LDA(localdeliveryagent),LDA是负责本地邮件投放到用户的邮箱,(我们这里使用dovecot提供的LDA功能,而不是postfix提供的LDA)邮件会进入用户的邮箱,Dovecot会执行用户设置的filter,也就是Dovecot通过调用Sieve,放到相关的文件夹(7).Dovecot把邮件以maildir的方式存放在硬盘上。(8).用户使用邮件客户端,通过pop3或imap协议进行连接。Webmail(RoundCubeMail),是通过imap的方式来读取邮件。总结,经过上面的简单说明你应该知道整个邮件系统的工作流程了,下面我们将完整的搭建这套企业级的邮件系统!^_^……四、安装前的准备工作1.关闭防火墙与SELinux1234567891011121314151617[root@mail~]#serviceiptablesstopiptables:清除防火墙规则:[确定]iptables:将链设置为政策ACCEPT:filter[确定]iptables:正在卸载模块:[确定][root@mail~]#serviceip6tablesstopip6tables:清除防火墙规则:[确定]ip6tables:将chains设置为ACCEPT策略:filter[确定]:正在卸载模块:[确定][root@mail~]#chkconfigiptablesoff[root@mail~]#chkconfigip6tablesoff[root@mail~]#vim/etc/selinux/config#ThisfilecontrolsthestateofSELinuxonthesystem.#SELINUX=cantakeoneofthesethreevalues:#enforcing-SELinuxsecuritypolicyisenforced.#permissive-SELinuxprintswarningsinsteadofenforcing.#disabled-NoSELinuxpolicyisloaded.SELINUX=disabled1819202122#SELINUXTYPE=cantakeoneofthesetwovalues:#targeted-Targetedprocessesareprotected,#mls-MultiLevelSecurityprotection.SELINUXTYPE=targeted[root@mail~]#reboot2.修改主机名1234[root@mail~]#vim/etc/sysconfig/networkNETWORKING=yesHOSTNAME=mail.free.com[root@mail~]#reboot3.下载并安装yum源(1).163的yum源(2).rpmforge软件仓库1234[root@mail~]#wget[root@mail~]#wget[root@mail~]#lsanaconda-ks.cfgCentOS6-Base-163.repoinstall.loginstall.log.syslogrpmforge-release-0.5.2-2.el6.rf.x86_64.rpm(3).备份原有的yum源12345678[root@mail~]#cd/etc/yum.repos.d/[root@mailyum.repos.d]#lsCentOS-Base.repoCentOS-Debuginfo.repoCentOS-Media.repoCentOS-Vault.repo[root@mailyum.repos.d]#mkdirbackup[root@mailyum.repos.d]#mvCentOS-*backup/[root@mailyum.repos.d]#lsbackup[root@mailyum.repos.d]#(4).增加新的yum源123456789101112[root@mail~]#cpCentOS6-Base-163.repo/etc/yum.repos.d/[root@mail~]#rpm-ivhrpmforge-release-0.5.2-2.el6.rf.x86_64.rpmwarning:rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm:HeaderV3DSA/SHA1Signatur
本文标题:邮件服务器搭建
链接地址:https://www.777doc.com/doc-2010966 .html