天天看点

Linux下如何利用Sendmail构建安全可靠的邮件服务器

实验原理:

Sendmail是UNIX/Linux环境中稳定性较好的一款邮件服务器软件,通过对Sendmail服务器的配置可以实现基本的邮件转发功能;dovecot服务器实现了POP3协议,可以与Sendmail服务器配合工作,实现用户对邮件的收取功能;OpenWebmail是网页形式的邮件应用系统,可实现用户对邮件的发送、收取和管理功能。通过对Sendmail、dovecot和OpenWebmail的综合管理,系统管理员可以构建出功能完善的邮件应用系统。

实验步骤:

一、 搭建DNS环境,并设置sendmain的主机域名

可以通过修改“/etc/hosts”和“/etc/sysconfig/network”两个文件更改主机域名。并在DNS服务器中添加对应的MX记录。

clip_image002[5]

clip_image004

二、 Sendmail的安装与配置

Sendmail服务器在RHEL4系统中是被默认安装的,软件包的名称是sendmail,m4软件包提供了配置Sendmail服务器必须的工具程序,与Sendmail软件包一同默认安装在系统中。Sendmain和m4两个软件都在RHEL4的第2张安装光盘中。

clip_image006

更改sendmial服务器的启动级别。

clip_image008

设置local-host-names文件,用于设置邮件服务器提供邮件服务的域名。

clip_image010

clip_image012

编辑sendmail.mc文件

Sendmail服务器的主配置文件是sendmain.cf,该文件配置及其难,不过可以通过配置sendmail.mc然后生成sendmail.cf文件。

clip_image014

开启Sendmail服务器的网络接口,Sendmail服务器出于安全考虑,默认只对lo网络接口(IP地址为127.0.0.1)提供服务,为了使服务器能够为主机的所有网络接口(地址为0.0.0.0)提供服务,需要在sendmail.mc文件中进行配置的修改。

clip_image016

开启SMTP的用户认证功能。将TRUST_AUTH_MECH(‘EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)前面的dnl以及空格去掉即可。开启之后,邮件服务器要求用户提供用户账户和口令进行身份认证,只有通过身份认证的用户才能通过邮件服务器向外部发送邮件。

clip_image018

http://groups.tianya.cn/post-165167-cf958a66a6c64e5487b561315711e37f-1.shtml

进入/etc/mail目录,然后使用m4 sendmail.mc > sendmail.cf生成sendmail.cf文件。

clip_image020

启动/etc/rc.d/init.d/sendmail服务,使sendmial.cf配置生效

clip_image022

开启了Sendmail服务器的认证功能之后,需要确保saslauthd服务程序正确运行。

clip_image024

邮件用户账户的设置

Sendmail服务器使用Linux系统中的用户账户作为邮件账户,因此为用户添加邮件账户只需要添加Linux账户即可。为了方便用户管理可以将具有同种性质的用户加入某一个组中。

clip_image026

设置邮件别名和邮件群发功能

在Sendmail服务器中使用aliases机制实现邮件别名和邮件群发功能。在/etc目录下同时存在名为aliases和aliases.db的两个文件。aliases文件是文本文件,其内容是可阅读和编辑的,aliases.db是数据库文件,是由aliases文件生成而来的。

clip_image028

编辑aliases文件,在文件末尾添加“gongcheng: xiaonuo1,xiaonuo2”,意思是通过给gongch[email protected]发邮件,群发到[email protected]和[email protected]中

clip_image030

设置完成之后,通过newaliases生成aliases.db文件。

clip_image032

如果想让一个用户通过匿名的方式向外发送邮件,可以通过修改access文件,然后通过“makemap hash access.db < access”生成数据库文件。

clip_image034

clip_image036

三、 devecot的安装与配置

Sendmail服务器并不为MUA软件提供收取邮件的功能,因此系统中需要单独安装实现POP3或IMAP4功能的服务器程序。http://groups.tianya.cn/post-165167-a8740efcea674001ac17d29fb18baa6b-1.shtml

系统默认安装了devecot软件,由于devecot服务器以来的软件包比较多,因此建议使用RHEL4系统中提供的软件包管理程序来安装dovecot软件包。

clip_image038

clip_image040

clip_image042

安装好dovecot软件包之后,需要设置其配置文件dovecot.conf文件。

clip_image044

dovecot服务器默认只提供imap服务,需要修改“#protocols = imap impas”这一行为“protocols = imap imaps pop3 pop3s”

clip_image046

重启启动dovecot服务,使dovecot.conf的设置生效。

clip_image048

四、 邮件客户端Outlook Express的配置

使用Windows自带的Outlook Express软件连接sendmail服务器。注意设置完成之后,需要将服务器的“我的服务器要求身份验证”打上勾。

clip_image050

发送、接收电子邮件进行测试即可。

clip_image052

五、 安装配置OpenWebmail,并通过Web发表Webmail

OpenWebmail是使用Perl语言编写的Webmail应用系统,可以很好地和Sendmail等邮件系统配合,构建功能强大的Webmail应用。

下载OpenWebmail所需要的文件,其中有四个perl软件和一个openwebmail软件。

clip_image054

建立dbm.conf文件

Openwebmail软件将所有的文件都安装在目录“/var/www/cgi-bin/openwebmail”中,在该目录下的etc子目录中需要建立名为dbm.conf的配置文件。

clip_image056

初始化OpenWebmail系统

执行“/var/www/cgi-bin/openwebmail/openwebmail”目录中的openwebmail-tool.pl程序,并使用“–init”选项进行OpenWebmail系统的初始化过程。

clip_image058

启动Apache服务器。使客户机可以通过web的方式访问邮件服务器。

clip_image060http://groups.tianya.cn/post-165167-9a07ebabec924eaeaeb02d1379055a54-1.shtml

在IE浏览器中输入http://mail.xiaonuo.com/cgi-bin/openwebmail/openwebmail.pl访问sendmail服务器。

clip_image062

clip_image064

由于默认访问的页面是英文的,使用起来不太方便,可以通过修改openwebmail.conf配置文件,将页面改成中文。

clip_image066

domainnames xiaonuo.com 设置sendmail的域名为xiaonuo.com

clip_image068

default_language 设置系统默认的语言为简体中文

clip_image070

default_iconset Cool3D.Chinese.Simplified 设置系统中的图标由英文设置为简体中文

clip_image072

设置完成之后,使用IE浏览器重新登录即可生效。

clip_image074

clip_image076

继续阅读