Linux下如何利用Sendmail构建安全可靠的邮件服务器-阿里云开发者社区

开发者社区> 科技小先锋> 正文

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

简介:
+关注继续查看
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
 
进入/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”,意思是通过给gongcheng@xiaonuo.com发邮件,群发到xiaonuo1@xiaonuo.comxiaonuo2@xiaonuo.com
clip_image030
 
设置完成之后,通过newaliases生成aliases.db文件。
clip_image032
 
如果想让一个用户通过匿名的方式向外发送邮件,可以通过修改access文件,然后通过“makemap hash access.db < access”生成数据库文件。
clip_image034
clip_image036
 
三、 devecot的安装与配置
Sendmail服务器并不为MUA软件提供收取邮件的功能,因此系统中需要单独安装实现POP3或IMAP4功能的服务器程序。
系统默认安装了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_image060
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


本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/167192,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
来更快的Maven了,我的天,速度提升了8倍!(1)
更快的Maven来了,我的天,速度提升了8倍!(1)
32 0
MySql5.7数据优化,瞬间飞起
MySql5.7数据优化,瞬间飞起
4 0
JVM深入学习(二十三)-下一代垃圾回收器
下一代垃圾回收器以并发回收为目的,亚毫秒级的停顿时间为目标,极大的提高了垃圾回收的效率
9 0
死锁的 4 种排查工具 !(2)
死锁的 4 种排查工具 !(2)
5 0
阿里云飞天加速计划ecs服务器试用体验
关于阿里云飞天加速计划ecs服务器的试用体验
9 0
MySQL MGR模式介绍
MGR是Mysql Group Replication(组复制)的缩写,Mysql5.7之后是以一个Mysql插件的形式集成在Mysql中,用于创建可伸缩、高可用、可容错的复制架构,是Mysql集群的一种形式
10 0
阿里云ECS初体验
我对阿里云ECS服务器的体验总结
20 0
1.3w字,一文详解死锁!(3)
1.3w字,一文详解死锁!(3)
5 0
CPU高使用率排查
Java程序在实际生产过程中经常遇到所在服务器CPU使用率高的问题,那么应该如何排查问题的原因呢,本文大概描述一下排查方法,作为一个排查手册。
5 0
6967
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载