网络服务器搭建、配置与管理——Linux版网络服务器搭建、配置与管理——Linux版主编:杨云、马立新人民邮电出版社网络服务器搭建、配置与管理——Linux版项目八、配置与管理Sendmail服务器项目描述:某高校组建了校园网,现需要在校园网中部署一台电子邮件服务器,用于进行公文发送和工作交流。利用基于Linux平台的Sendmail邮件服务器的配置及基于Web界面的OpenWebmail邮件服务器既能满足需要,又节省了资金。在完成该项目之前,首先应当规划好电子邮件服务器的存放位置、所属网段、IP地址、域名等信息;其次,要确定每个用户的用户名,以便为其创建账号等。项目目标:●了解电子邮件服务的工作原理●掌握sendmail和POP3邮件服务器的配置●掌握电子邮件服务器的测试网络服务器搭建、配置与管理——Linux版8.1相关知识8.3项目实施8.6练习题8.7实践习题8.8超级链接项目八、配置与管理Sendmail服务器8.2项目设计与准备8.4Sendmail服务企业实战与应用8.5Sendmail排错网络服务器搭建、配置与管理——Linux版8.1相关知识8.1.1电子邮件服务概述电子邮件(ElectronicMai1,简称E-mail)服务是Internet最基本也是最重要的服务之一。与传统邮件相比,电子邮件服务的诱人之处在于传递迅速。如果采用传统的方式发送信件,发一封特快专递也需要至少一天的时间,而发一封电子邮件给远在他方的用户,通常来说,对方几秒钟之内就能收到。跟最常用的日常通信手段──电话系统相比,电子邮件在速度上虽然不占优势,但它不要求通信双方同时在场。由于电子邮件采用存储转发的方式发送邮件,发送邮件时并不需要收件人处于在线状态,收件人可以根据实际需要随时上网从邮件服务器上收取邮件,方便了信息的交流。网络服务器搭建、配置与管理——Linux版8.1.2电子邮件系统的组成网络服务器搭建、配置与管理——Linux版8.1.2电子邮件系统的组成4.MUA、MTA和MDA协同工作总的来说,当使用MUA程序写信(例如elm,pine或mail)时,应用程序把信件传给Sendmail或Postfix这样的MTA程序。如果信件是寄给局域网或本地主机的,那么MTA程序应该从地址上就可以确定这个信息。如果信件是发给远程系统用户的,那么MTA程序必须能够选择路由,与远程邮件服务器建立连接并发送邮件。MTA程序还必须能够处理发送邮件时产生的问题,并且能向发信人报告出错信息。例如,当邮件没有填写地址或收信人不存在时,MTA程序要向发信人报错。MTA程序还支持别名机制,使得用户能够方便的用不同的名字与其他用户、主机或网络通信。而MDA的作用主要是把接收者MTA收到的邮件信息投递到相应的邮箱中。网络服务器搭建、配置与管理——Linux版8.1.3电子邮件传输过程电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如图SMTP发件人发件服务器收件服务器收件人以一封邮件的传递过程为例,下面是邮件发送的基本过程,如图MUAMTAMTAMTAMDA邮箱队列队列队列网络服务器搭建、配置与管理——Linux版8.1.3电子邮件传输过程网络服务器搭建、配置与管理——Linux版8.1.4与电子邮件相关的协议常用的与电子邮件相关的协议有SMTP、POP3和IMAP4。1.SMTP(SimpleMailTransferProtocol)2.POP3(PostOfficeProtocol3)3.IMAP4(InternetMessageAccessProtocol4)网络服务器搭建、配置与管理——Linux版8.1.5邮件中继前面讲解了整个邮件转发的流程,实际上邮件服务器在接收到邮件以后,会根据邮件的目的地址判断该邮件是发送至本域还是外部,然后再分别进行不同的操作,常见的处理方法有以下两种。1.本地邮件发送当邮件服务器检测到邮件发往本地邮箱时,如yun@smile.com发送至ph@smile.com,处理方法比较简单,会直接将邮件发往指定的邮箱。网络服务器搭建、配置与管理——Linux版8.1.4与电子邮件相关的协议网络服务器搭建、配置与管理——Linux版8.1.4与电子邮件相关的协议(1)中继。(3)第三方中继。3.邮件认证机制如果关闭了OPENRELAY,那么必须是该组织成员通过验证后才可以提交中继请求。也就是说,你的用户要发邮件到组织外,一定要经过验证。要注意的是不能关闭中继,否则邮件系统只能在组织内使用。邮件认证机制,要求用户在发送邮件时,必须提交账号及密码,邮件服务器验证该用户属于该域合法用户后,才允许转发邮件。(2)OPENRELAY。网络服务器搭建、配置与管理——Linux版8.2项目设计及准备网络服务器搭建、配置与管理——Linux版8.3项目实施网络服务器搭建、配置与管理——Linux版8.3.1任务1安装、启动和停止Sendmail服务网络服务器搭建、配置与管理——Linux版8.3.1任务1安装、启动和停止Sendmail服务如果没有安装,可以使用rpm命令进行安装。网络服务器搭建、配置与管理——Linux版2.Sendmail服务启动启动和重新启动Sendmail服务的命令和界面如下所示。8.3.1任务1安装、启动和停止Sendmail服务网络服务器搭建、配置与管理——Linux版8.3.1任务1安装、启动和停止Sendmail服务网络服务器搭建、配置与管理——Linux版8.3.1任务1安装、启动和停止Sendmail服务网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置2.sendmail.cf和sendmail.mcsendmail.cf是Sendmail的核心配置文件,有关Sendmail参数的设定大都需要修改该文件。但是,Sendmail的配置文件和其他服务的主配置文件略有不同,其内容为特定宏语言所编写,这导致大多数人对它都抱有恐惧心理,甚至有人称之为天书。因为文件中的宏代码实在是太多。因为sendmail.mc文件的可读性远远大于sendmail.cf文件。并且,在默认情况下,Sendmail提供sendmail.mc文件模板。所以,只需要通过编辑Sendmail.mc文件,然后使用m4工具将结果导入sendmail.cf文件中即可。通过这种方法可以大大降低配置复杂度,并且可以满足环境需求。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置使用vi命令打开/etc/mail/sendmail.mc文件。sendmail.mc内容非常庞大,但大部分已经被注释。以“dnl”开头随后的信息无效。我们先把注意力集中在第116行。DAEMON_OPTIONS('Port=smtp,Addr=127.0.0.1,Name=MTA')dnl如果只需要搭建简单的Sendmail服务器的话,sendmail.mc文件只需要在这行做修改即可。括号中的Addr字段表示SMTP协议侦听的地址为127.0.0.1。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置配置邮件服务器时,需要更改IP地址为公司内部网段或者0.0.0.0,这样可以扩大侦听范围(通常都设置为0.0.0.0)。否则,服务器无法正常发送信件,如下所示。DAEMON_OPTIONS('Port=smtp,Addr=0.0.0.0,Name=MTA')dnl注意括号内的标点符号。Port前面的标点符号为表示字符引用开始的单引号(键盘左上角“1”左边那一个键),而Name=MTA后面是表示字符引用结束的单引号(与开始的单引号不同,英文状态双引号的下档键)。sendmail.mc文件不可随意加入空格符号。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置3.m4工具的使用在使用m4工具前,请先确认服务器上已经安装了该软件包。默认情况下,m4工具是被安装好的。可以使用rpm-qa命令检测,如下所示。[root@server~]#rpm–qam4m4-1.4.5-3.el5.1网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置如果服务器上未安装该软件包,请先安装后再进行后面的配置过程。在配置Sendmail过程中,需要利用m4工具将编辑后的sendmail.mc文件内容重定向到sendmail.cf文件中。这样可避免去直接编辑复杂的sendmail.cf文件,如下所示。[root@server~]#m4/etc/mail/sendmail.mc/etc/mail/sendmail.cf使用m4工具很容易完成对主配置文件sendmail.cf文件的修改。这里需要注意的是,每当我们修改过sendmail.mc文件后,都需要使用m4工具再次将结果导入到sendmail.cf文件中。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置5.POP3和IMAP在Sendmail服务器进行基本配置以后,MailServer就可以完成E-mail的邮件发送工作,但是如果需要使用POP3和IMAP协议接受邮件,还需要安装Dovecot软件包,如下所示。(1)安装POP3和IMAP。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置如果出现以上提示,需要安装以下两个软件包。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置(3)测试。使用netstat命令测试是否开启POP3的110端口和IMAP的143端口,如下所示。如果显示110和143端口开启,则表示POP3以及IMAP服务已经可以正常工作。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置6.别名和群发设置用户别名是经常用到的一个功能。顾名思义,别名就是给用户起另外一个名字。例如,给用户A起个别名为B,则以后发给B的邮件实际是A用户来接收。为什么说这是一个经常用到的功能呢?第一,root用户无法收发邮件,如果有发给root用户的信件必须为root用户建立别名。第二,群发设置需要用到这个功能。企业内部在使用邮件服务的时候,经常会按照部门群发信件,发给财务部门的信件只有财务部所有人才会收到,其他部门的则无法收到。如果要使用别名设置功能,首先需要在/etc/mail/目录下建立文件aliases。然后编辑文件内容,其格式如下。alias:recipient[,recipient,…]其中,alias为邮件地址中的用户名(别名),而recipient是实际接收该邮件的用户。下面通过几个例子来说明用户别名的设置方法。网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置网络服务器搭建、配置与管理——Linux版8.3.2任务2Sendmail常规服务器配置7.利用Access文件设置邮件中继Access文件用于控制邮件中继(RELAY)和邮件的进出管理。可以利用Access文件来限制哪些客户端可以使用此邮件服务器来转发邮件。例如限制某个域的客户端拒绝转发邮件,也可以限制某个网段的客户端可以转发邮件。Access文件的内容会以列表形式体现出来。其格式如下。对象处理方式对象和处理方式的表现形式并不单一