RHEL5下电子邮件服务器的配置与研究
陈欣
摘要:目前电子邮件服务器的操作平台有Unix、Linux、Windows三种,其中基于Linux的Sendmail服务是应用较为广泛的服务器平台。文章从Sendmail服务器的基础配置着手,讲述了如何配置出简单高效的电子邮件服务器。
关键词:电子邮件;Sendmail;SMTP;POP3
0 引言
截至2015年2月,中国互联网络信息中心(CNNIC)发布《第35次中国互联网络发展状况统计报告》,我国的网民人数突破6.6亿,网络普及率接近50%,网民人均3.8个电子邮箱,每天使用电子邮件的网民占87%,每天使用手机查看邮件的网民占68%。由此可见作为Internet常用服务的电子邮件,在网络用户中有着广泛的使用需求和用户基础。
电子邮件的使用离不开邮件服务器,该服务器是为客户提供邮件服务的电子邮件系统,它包括电子邮件的程序、电子邮箱、电子邮件协议等。大中型企业可以建设自己的邮件服务器,根据自己的需要设置邮箱属性、用户权限、安全级别等,适应企业自身发展的需求。
1 主流的电子邮件服务器
当前的Linux平台中,常见的电子邮件服务器包括Sendmail、Postifix和Qmail等。
1.1 Sendmail服务器
在全世界范围内,无论是从使用的广泛程度,还是从代码的复杂程度来讲,Sendmail都是一款非常优秀的软件。几乎所有Linux的缺省配置中都内置了这个软件,只要设置好操作系统,它就能运转起来。它是一个免费软件,可以支持数千甚至更多的用户,而且占用的系统资源相当少。Sendmail的系统结构不适合较大的负载,对于高负载的邮件系统,需要对Sendmail进行复杂的调整。
1.2 Postfix服务器
基于IBM的GPL协议开发的postfix是一款开放源代码的优秀软件,它是提供Sendmail替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,该服务器每天投递上亿封邮件。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。该软件利用多层防护措施来保护本地系统,它的速度比同类的产品快3倍以上。
1.3 Qmail服务器
Omail是由Dan Bernstein开发的邮件服务器软件,它广泛运行于Linux/Unix系统中。该服务器将Mail处理过程分为多个过程,同时避免用管理员用户运行。该服务器支持直接投递,保证了Email在投递过程中不会丢失,同时支持新的更可靠的信箱格式Maiidir,保证运行环境突然崩溃下信箱系统的稳定性和安全性。
2 电子邮件系统的框架
2.1 电子邮件系统的组成
电子邮件服务是基于客户/服务器模式的。一个完整的电子邮件系统由以下3部分组成:MTA,MUA,LDA。
邮件代理器(MTA)运行在邮件服务器上,负责邮件的存储和转发。监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件服务器,将信件在服务器之间传输并且将接收到的邮件进行缓冲。在linux下的MTA程序有:sendmail,qmail,postifix等。
邮件用户代理(MUA)是一个邮件系统的客户端程序,它提供了阅读、发送和接受电子邮件的用户接口。最常用的有:Windows下的outlook,foxmail等,linux下的mail,MozilaMail,pine等。
本地投递代理(LDA)是当MTA将电子邮件投递到邮件接收者的邮件账号所在的服务器后,由LDA负责将电子邮件投递到接收者的具体邮箱中。
2.2 电子邮件服务的协议
SMTP,POP3,IMAP协议是目前电子邮件服务器使用的主要协议。
2.1.1 SMTP协议
SMTP协议是Internet中首要的传输协议,默认的端口是TCP的25端口。该协议也叫简单邮件传送协议,它负责把电子邮件从发件人的邮件服务器中发送到收件人的电子邮件服务器中。
2.2.2 POP3协议
POP3协议也叫邮局协议,它主要用来接收电子邮件。默认的端口是TCP的110端口。它负责控制接收邮件的客户机和电子邮件存储服务器间的互连。
2.2.3 IMAP协议
IMAP协议是通过远程主机管理电子邮件的协议,默认的端口是TCP的143端口。该协议使得收件^在自己的主机上能够创建多个存放邮件的文件夹,以及在文件夹之间能够互相转移邮件。
3 配置Sendmail服务和Dovecot服务
RHEL5中使用最多的就是Sendmail服务器。在RHEL5系统中,配置电子邮件服务器之前,需要在防火墙中打开Sendmail服务的端口,可以在系统设置的安全级别中开启25号端口,或者使用防火墙开启该端口。然后配置Sendmail服务和Dovecot服务。
3.1 Sendmail服务器的安装和启动
配置sendmail服务器需要安装如下软件包:
安装主程序包#rpm-ivh sendmail-8.13.8-2.el5.i386.rpm
安装宏文件#rpm-ivh sendmail-ef 8.13.8-2.el5.i386.rpm
安装开发工具包#rpm -i vh sendmaildevel-8.13.8-2.e15.i386.rpm
安装说明文档#rpm -ivh sendmail-doe-8.13.8-2.e15.i386.rpm
安装宏处理过虑软件包#rpm -ivh m4-1.4.5-3.e15.1.i386.rpm
安装邮件接收软件包
#rpm -ivh dovecot-1.01.2.rc15.e15.i386.rpm
Sendmail服务器开启:#service sendmail start
Sendmail服务器关闭:#service sendmail stop
3.2 Sendmail服务器的基本配置
服务器的主配置文件/etc/mail/Sendmail.cf,该文件的配置方法较复杂,所以可以先配置较简单的sendmail.mc文件,配置完成后通过M4命令生成sendmail.cf文件。
(1)更改侦听范围,在DAEMON_OPTIONS语句中,原有的语句“Addr=127.0.0.1”仅允许服务器接收本机发送的邮件,服务器需要接收因特网的所有合法邮件,所以在这里更改侦听范围为“Addr=0.0.0.0”如图l所示。(2)更改邮件服务器的本地域名,在LOCAL_DOMAIN语句中,原有语句(localhost.loealdomain)默认的域名是本地主机名,服务器在因特网中需要合法的域名,所以在这里更改域名为“wtcmail.eom”如图2所示。(3)更改默认邮件的大小,以字节计算,在define(、UUCP_MAILER_MAX','2000000')dnl语句中2000000为默认邮件的大小,可以根据需要修改,如设置为5000000。(4)保存该配置文件,使用命令m4 sendmail.mc>sendmail.cf在服务器配置目录中生成sendmail.cf主配置文件。重启该服务器使新的配置文件生效。
3.3 配置POP3和IMAP服务器
电子邮件服务器的配置除了能够正常发送邮件外,还要能够接受邮件,所以还需要配置dovecot程序。
(1)在/etc/xinet d.d/imap配置文件中,将“disable=yes”更改为“disable=no”,启动imap服务。
(2)在/etc/xinet d.d/ipop3配置文件中,将“disable=yes”更改为“disable=no”,启动ipop3服务。
(3)使用命令service dovecot start启动doveeot服务。
4 测试服务器端口,添加邮件测试用户
4.1 测试服务器端口运行情况
使用命令netstat验证tcp协议25端口、110端口、143端口的开启情况,开启情况正常则服务器可以正常使用如图3所示。
4.2 添加邮件服务器的客户端
(1)使用useradd命令为系统添加cx01和cx02测试用户,使用passwd命令为2个测试用户分别设置访问密码。(2)查看/vat/log/maillog发送日志,该文件记录了每一封电子邮件的发送情况,它可以查看用户发送邮件的源系统和目标系统。(3)查看/etc/mail文件,该文件保存了用户收发的邮件。
5 Linux客户端测试邮件服务器
unuxg-p端可以使用mail命令完成电子邮件的发送和接收,
#mail-s"Welcome"cx01@wtcmail.com
#how are you.
#welcome to us
Mail-s后面的是电子邮件的主题,邮件的接收人是cx01@wtcmail.com,输完后回车即可输入邮件的正文,使用CTRL+D键结束正文的输入。此时电脑提示输入邮件的抄送地址,输入完成后即可完成此次电子邮件的发送。cx01用户接收到的邮件会保存在/vat/spool/mail/cx01中,cx01用户使用mail命令即可查看收到的电子邮件,系统会显示登录用户的前20封邮件。