RHEL5.7下的sendmail服务器配置

来源:互联网 发布:无锡百度推广seo 编辑:程序博客网 时间:2024/05/16 09:15

人们在互联网上最常使用的就是电子邮件,很多企业用户也经常使用免费电子邮件系统。Sendmail作为一种免费的邮件服务器软件,已被广泛的应用于各种服务器中,它在稳定性、可移植性、及确保没有bug等方面具有一定的特色。sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重要的。一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。 用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express、foxmail等。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail。  
现在我们来看一下sendmail邮件服务器是如何配置的。 
1、检查件软包是否安装 
rpm –q sendmail 
rpm –q m4 
rpm –q sendmail.cf 
2、配置邮件服务器的DNS域名 
在前面DNS服务器的配置中,有一个专门用于邮件服务器域名格式,即IN MX。可将DNS和mail设为同一个服务器,在DNS配置文件中设置邮件服务器的域名,在本例中DNS服务器和邮件服务器IP地址均为192.168.10.1。 
编辑原有的hujw.com.zone正向解析文件,添加两条记录 
image  
编辑原有的hujw.com.rev反向解析文件,添加一条记录 
image  
重启named服务器 
service named restart 
测试解析结果,可以正常解析邮件服务器域名 
clip_image002 
3、配置sendmail服务器配置文件 
下面来看一下sendmail的配置过程,sendmail所以配置文件都保存在/etc/mail目录下。 
这个目录下有几个主要文件: 
sendmail.cf  sendmail的主配置文件,配置难度很大,不建议配置。在sendmail.cf文件开头做了如下说明:(不要配置这个文件,只能编辑sendmail.mc)clip_image004 
sendmail.mc
 相对简便的配置文件,修改完后需要通过m4命令生成新的sendmail.rf文件。 
首先修改sendmail.mc文件的内容: 
vi sendmail.mc 
搜索“127.0.0.1”,将它改成0.0.0.0,否则只能在本地开启SMTP监听。0.0.0.0相当于在本机所有地址上开启监听。 
clip_image002[6] 
继续搜索“TRUST”,将前面的dnl和空格删掉,否则无法开启smtp认证的功能。如果没有smtp认证的话,就相当于不用账号密码就可以登录邮箱,邮箱的安全将得不到保障。 
clip_image004[6] 
然后修改/etc/mail下的access文件,加入允许收发邮件的网段 
clip_image006 
保存后,将文件进行哈希生成新的access.db文件 
makemap hash access.db < access 
然后修改local-host-names,加入hujw.com,使得hujw.com这个域作为邮件服务器。 
clip_image008 
通过m4命令生成新的sendmail.rf文件 
m4 sendmail.mc > sendmail.cf 
创建两个用户 
useradd mailtest1 
passwd mailtest1 
useradd mailtest2 –s /sbin/nologin 
passwd mailtest2
 
mailtest1和mailtest2的区别就是mailtest1可以登录系统,mailtest2不能登陆系统。所以创建用户的时候可以根据这个控制用户是否能够登陆系统。 
然后编辑/etc/aliases这个文件,加入以下命令,为邮件用户设置群组。其中group1只包含mailuser1,即给group1发邮件只有mailtest1可以收到;group2包含两个用户,给group2发邮件两个用户都可以收到。 
clip_image002[8] 
修改完成后使用newaliases生成新的aliases文件 
newaliases 
这个时候smtp已经配好了,但只能发送不能接收,因为还有一半没有配置。smtp只负责发送邮件,而接收邮件靠得是什么呢?没错,那就是smtp的伴侣——POP3协议。要配置POP3服务器,首先要确认安装了devecot软件包。 
rpm –q dovecot 
找到dovecot的配置文件 
vi /etc/dovecot.conf 
clip_image004[8] 
找到如图所示的那句话,将前面的#号去掉,使邮件服务器能够支持pop3协议。 
开启smtp服务 
service sendmail start 
开启pop3服务 
service dovecot start 
开启smtp验证服务 
service saslauthd start 
4、邮件收发测试 
在windows平台下使用outlook2010收发邮件,首先创建账户 
image  
点“其他设置”,在我的SMTP服务器需要验证打钩 
clip_image001 
测试账户设置 
clip_image002 
测试完成,可以正常收发邮件了! 
使用另外一个windows客户端通过mailtest2这个账户向mailtest1发送邮件: 
clip_image003 
mailtest1成功收到邮件: 
clip_image002[10] 
5、openwebmail安装 
    Openwebmail是一套自由(免费)的开放源代码的perl程序,协助人们从任何地方检查自己的电子邮件信箱!Openwebmail可以让人们出门时方便地存取自己的电子邮件,或者用来完全代替你常用的离线邮件阅读程序(Outlook Express)。Openwebmail内附的容易使用的行事历工具,也能够帮助使用管理每日活动和日历。 
在安装openwebmail之前,首先确认selinux是关闭的。 
vi /etc/selinux/config 
clip_image004[10] 
然后安装perl软件包(本文附件里面有) 
最后安装openwebmail,下载地址如下 
http://openwebmail.org/openwebmail/download/release/2.53/openwebmail-2.53.tar.gz 
安装openwebmail软件包 
tar –zxvf openwebmail-2.53.tar.gz –C /var/www 
openwebmail会自动安装到/var/www/cgi-bin目录下,注意cgi-bin是专门存放动态网页的目录。安装完成后进入/var/www/cgi-bin/openwebmail/etc/defaults,编辑dbm.conf文件。 
将第二行的dbmopen_ext扩展名改成.db。 
clip_image006[6] 
保存完成后将www文件夹复制一份到/usr/local。 
cp –rf /var/www /usr/local/ 
进入/var/www/cgi-bin/openwebmail/目录下,运行脚本 
. /openwebmail-tool.pl –init 
若安装成功会有如下提示 
clip_image008[6] 
将/var/www/data目录下的openwebmail文件夹复制到/var/www目录下,否则网页上的图片无法显示。 
cp –rf /var/www/data/openwebmail /var/www 
开启httpd服务 
service httpd start 
在windows客户端上输入http://mail.hujw.com/cgi-bin/openwebmail/openwebmail.pl 
clip_image010 
使用mailtest1登陆,可以看见之前在outlook上收到的邮件 
clip_image012 
更改菜单栏为中文 
clip_image014 
更多选项也可以在配置文件下改 
vi /var/www/cfg-bin/openwebmail/etc/openwebmail.conf 
例如: 
更改邮件服务器域名为hujw.com 
domainnames hujw.com 
更改默认语言为简体中文 
default_language zh_CN.GB2312

至此sendmail和openwebmail的基本配置都配置完成了,其实还有很多选项我们没有涉及,以后有心研究sendmail的童鞋可以再好好看看其他资料哦!