您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Linux从入门到提高-第16章--Mail服务器配置
第16章Mail服务器配置邮件系统简介SMTP介绍建立Sendmail服务器建立Dovecot邮件服务器配置邮件客户端防范垃圾邮件本章小结Linux的电子邮件系统可以划分为三个模块:邮件传递代理(MTA)、邮件存储和获取代理(MSA)、以及邮件客户代理(MUA),下面分别进行介绍。16.1邮件系统简介16.1.1邮件传递代理(MTA)Linux系统下的邮件传递代理(MailTransferAgent)通常使用Sendmail,该系统几乎在任何UNIX平台上都有相应的版本。在大多数情况下,安装和设置MTA系统比较容易,不过强大功能的实现是以复杂的设置为代价的。如果用户所在的机构选择定制的MTA来满足特定的路由、体系、安全性和反垃圾邮件等要求,就需要更加复杂的设置选项,配置包括设计并处理MTA和各种子系统之间的关系。一旦安装并设置完成了MTA,还要对MSA(MailSubmissionAgent)系统进行同样的配置。如今大多数机构并不直接将邮件传送到桌面客户系统,而是将邮件存储到服务器,让用户通过POP或IMAP来读取各自的邮件。16.1.2邮件存储和获取代理(MSA)16.1.3邮件客户代理(MUA)邮件客户代理MUA(MailUserAgent)有很多种,它们大都遵循POP和IMAP协议。在Linux系统下,许多用户使用Fetchmail抓取邮件并保存在本地邮箱,然后使用任何一种邮件客户代理,例如elm、pine、mutt、MH/exmh、rmail,vmail、mh-e、gnus、以及带有GUI界面的Balsa、Mahogany等来处理邮件。SMTP(SimpleMailTransferProtocol)协议是为了保证电子邮件的可靠和高效传送。TCP/IP协议的应用层中包含有SMTP协议,但事实上它与传输系统和机制无关,仅要求一个可靠的数据流通道。该协议可以工作在TCP协议上,也可以工作在NCP、NITS等协议上。在TCP上,它使用端口25进行传输。SMTP的一个重要特点是可以在可交互的通信系统中转发邮件。16.2SMTP介绍SMTP提供了一种邮件传输的机制,当接收方和发送方都在一个网络上时,可以把邮件直传给对方;当双方不在同一个网络上时,需要通过一个或几个中间服务器转发。SMTP首先由发送方提出申请,要求与接收方SMTP建立双向的通信渠道,接收方可以是最终收件人也可以是中间转发的服务器。接收方服务器确认可以建立连接后,双发就可以开始通信。16.2.1SMTP的模型SMTP定义了15个命令,它们分别是:HELO、MAILFROM、RCPTTO、DATA、RSET、SENDFROM、SOMLFROM、SAMLFROM、VRFY、EXPN、HELP、NOOP、QUIT、TURN。其中,HELO、MAILFROM、RCPTTO、DATA、REST、NOOP和QUIT这7个命令是SMTP工作的基础。16.2.2SMTP的基本命令16.2.3电子邮件介绍电子邮件的工作过程遵循客户/服务器模式。每封电子邮件的发送都要涉及到发送方和接收方,发送方构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。16.2.3电子邮件介绍邮件的结构01.From:user1@domain1.com02.To:user2@domain2.com03.Subject:Explainationofmailformat04.Date:Thu,01Jul2010.18:06:23GMT05.06.Hi,Jack07.Thismailistoexplainyouthemailformat08.----09.Thanks10.Bob16.2.3电子邮件介绍邮件的信头From:sender@domain1.comTo:receipt@domain2.comDate:Thu,01Jul201015:36:23GMTX-mailer:Sendmail8.13.8Subject:GreetingsReceived:frommail.domain1.com(mail.domain1.com[153.42.0.9])bymail.domain2.com(8.13.8/8.13.8)withESMTPidLAA20869;Thu,01Jul201015:37:06GMTReceived:fromclient1.domain1.com(client1.domain1.com[153.42.0.9])bymail.domain1.com(8.13.8)id004A21;Thu,01Jul201015:36:23GMTFrom:sender@domain1.comTo:receipt@domain2.comDate:Thu,01Jul201015:36:23GMTMessage-Id:client1254556544-45556454@mail.domain1.comX-mailer:Sendmail8.13.8Subject:Greetings由于技术的原因,在80年代前,网络还不是很健全,计算机之间很少能直接对话发送邮件,人们必须找出一条有效的连接通道来,然后信件沿着通道一步一步传送到目的地。SMTP协议中就明确指出当邮件在不同的网络间传送时,需要借助中间服务器的Relay。邮件在接收方和发送方之间会经过毫不相干的第三方服务器,这就是邮件转发(Relay)。16.2.4OpenRelay的原理本节将首先给出Sendmail服务器的安装与启动方法,然后详细介绍各个配置文件,最后讨论一些实际应用问题。16.3建立Sendmail服务器Sendmail邮件服务器有两种安装方法:从安装光盘中获取RPM包进行安装,或者从Sendmail的官方站点下载软件的源代码,编译后安装。#servicesendmailstart#servicesendmailstatus16.3.1安装与启动Sendmailsendmail.cf是Sendmail的配置文件,一般情况下位于/etc/mail目录下。安装Sendmail完成之后,会自动生成一个适合本系统使用的sendmail.cf文件,同时在sendmail.x.x.x/cf目录下还有许多适应各类系统的sendmail.cf文件样本,根据文件名可以判断它们适用的场合,如果需要可以选择它们替换原有的sendmail.cf文件。sendmail.cf配置文件中的命令:D:定义宏V:配置版本级别C与F:定义类M:定义邮件传输程序O:设置选项H:定义邮件的首部格式T:定义可信任的用户R:定义重写规则P:设置优先级S:设置重写规则集K:关键文件声明16.3.2设置sendmail.cf由于sendmail.cf的语法深奥难懂,很少有人会直接去修改该文件来对Sendmail服务器进行配置。一般通过m4宏处理程序来生成所需的sendmail.cf文件,该过程中需要一个模板文件sendmail.mc,默认情况下位于/etc/mail目录下。备份原有sendmail.cf文件#cp/etc/mail/sendmail.cf/etc/mail/sendmail.cf.bak根据sendmail.mc模板文件生成sendmail.cf文件,并导出到/etc/mail/目录下#m4/etc/mail/sendmail.mc/etc/mail/sendmail.cf重启sendmail服务#servicesendmailrestart16.3.3使用sendmail.mc文件在Linux系统中,要为一个新的用户开通E-mail账号非常简单。只要在系统中新增一个用户就可以了,系统将为每个新建的用户默认提供一个邮件账号。例如要为一个新用户test开通E-mail账号,可以使用如下命令:#addusertest#passwdtestaaaa@localhost.localdomain16.3.4创建新的邮件账号在邮件的使用过程中,有一些用户希望使用多个E-mail地址,但Linux并不会给这些用户分配多个IP地址,否则,这样将会增加对账号管理的难度。Linux系统提供了一种方法:设置账号别名。abcd@localhost.localdomainefgh@localhost.localdomainijklmn@localhost.localdomain16.3.5设置账号别名16.3.6使用access数据库access.db是一个散列表数据库,位于/etc/mail目录下,它是使用access文件生成的,该文件为纯文本文件,其格式如下:地址操作地址:domain:用户域内所有主机ipaddress:网段内的或特定的主机use@domain:特定的邮件地址uer@:用户名为user的邮件16.3.6使用access数据库操作:OK:无条件接受或发送RELAY:允许SMTP中继邮件REJECT:拒绝接受并给出错误信息DISCARD:丢弃邮件,但不提供错误信息、server.comRELAY10.0.6.134RELAY192.168.10RELAYinfo.comREJECT16.3.7配置带SMTP认证的Sendmail服务器使用access数据库可以管理用户,合法地使用SMTP服务器进行邮件的传递。然而,随着用户的不断增多,而且很多用户都是在一个网段内,如果仅仅依靠access数据库,很难有效地管理SMTP服务器的使用,那样会使得access数据库规模增大,管理混乱,从而造成效率降低,甚至是出错。这样,既不能保障一些合法用户正常地使用邮件服务器的OpenRelay功能,也给一些不法的用户提供了可趁之机,他们可以利用这来发送一些垃圾邮件和一些非法邮件。所以,非常有必要使RHEL5发行套件自带的身份认证程序库,配合Sendmail服务器一起使用,对使用SMTP服务的用户进行身份认证,从而确保该服务的合法使用。Sendmail服务器配置完成之后,就可以完成邮件的发送工作了。如果要使用POP3和IMAP协议接收邮件,还需要安装相应的软件包。RedHatEnterpriseLinux5使用Dovecot做POP3/IMAP服务器。Dovecot是一个比较新的软件,由TimoSirainen开发,最初发布于2002年7月,在安全性方面比较出众。16.4建立Dovecot邮件服务器Dovecot有两种安装方法:从安装光盘中获取RPM包进行安装,或者从其官方站点下载软件的源代码,编译后安装。16.4.1安装Dovecot服务器Dovecot安装完成之后,就可以对其进行配置了,Dovecot的配置文件为dovecot.conf,位于/etc或/usr/local/dovecot/etc目录下。##Dovecotconfigurationfile#支持imapimapspop3pop3s协议protocols=imapimapspop3pop3s#设置邮件位置#mail_location=maildir:~/Maildir#mail_location=mbox:~/mail:INBOX=/var/mail/%u#mail_location=mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n#IMAP相关设置protocolimap{#Loginexecutablelocation.#login_executable=/usr/libexec/dovecot/
本文标题:Linux从入门到提高-第16章--Mail服务器配置
链接地址:https://www.777doc.com/doc-7945036 .html