三、 安装含SMTP认证sendmail
RedHat 7.0的默认安装是包含了sendmail-8.11.0的,但是只能通过这个sendmail在本机发送邮件。为了安全起见,在/etc/mail/access文件中,只默认设置了对应Localhost的RELAY(接收)。
为了让这个服务器可以为其他用户提供发送邮件服务,简单的办法是配置/etc/mail/access文件,来设置可以RELAY或者REJECT(拒绝)的域或者IP段。这对工作地点在多个域内或不固定IP的拨号用户而言,有些不适用。我们得给SMTP服务加上认证功能,只转发那些通过身份认证的用户的信件。方法如下。
1. 展开sendmail.8.12.0.Beta7.tar.gz,并进入所在的目录:
#tar zxvf sendmail.8.12.0.Beta7.tar.gz
#cd sendmail.8.12.0.Beta7
在devtools/Site/目录下创建site.config.m4文件,加入两行文字:APPENDDEF(`confENVDEF', `-DSASL');APPENDDEF(`conf_sendmail_LIBS', `-lsasl'),把SMTP认证功能编译到sendmail中。
2. 回到sendmail.8.12.0.Beta7目录,再进入sendmail目录,开始编译sendmail。
#cd -
#cd sendmail
#./Build -c
-c参数表示编译时先删除原先编译的结果。
3. 编译成功后,运行./Build install安装软件:
#./Build install
4. 生成sendmail的配置文件。回到上一级目录,再进入cf/cf目录,创建config.mc:
#cd -
#cd cf/cf
config.mc文件内容略。
5. 编译生成/etc/mail/sendmail.cf文件:
#m4 ../m4/config.m4 config.mc >
/etc/mail/sendmail.cf
6. 启动sendmail:
#sendmail -bd -q10m
四、安装sendmail守护进程
表面上看,到上一步,我们的安装工作应该完成了。但事实上,由于我们设置了SMTP的认证,sendmail不论是发信还是收信,都会要求对方提供身份验证的密码。而给我们发信的人应该是无需身份验证的,所以我们把刚刚安装的含认证功能的sendmail安装在26端口,然后我们再单独安装一份sendmail守护进程。它在25端口专门接收别人发送到这台服务器的信件。具体方法略。
配置启动文件
按照上面的过程安装完成之后,Qpopper和26端口的sendmail进程会在下次启动时自动启动,但是25端口的sendmail和用于检查口令的守护程序不会自动运行,所以需要把它们加入启动文件中。
最直接的是修改/etc/rc.local,把下面的两行文字加入到这个文件的尾部适当位置。
/usr/sbin/sendmail_daemon-bd -q10m
-C/etc/mail/sendmail_daemon.cf
nohup pwcheck &&
测试
重新启动计算机,上面我们所安装的进程都会自动启动。登录到主机,对Qpopper、含SMTP认证的sendmail、不含SMTP认证的sendmail、pwcheck分别测试。再进行整体测试:用另外一台安装有OutLook Express 5.0的计算机,配置好账户属性后,分别用不同主机的电子邮件地址做收发测试。注意:发送邮件选择“我的服务器需要身份验证”时,可以选择和POP3相同,也可以选择不同;另外,发送邮件服务器的端口号是26,而不是默认的25。
如果拥有不止一个域名,你需要在/etc/ local-host-names这个文件里加上其他的域名名单。如果想做邮件转发,如发送给webmaster@sysok.com的邮件自动转发给look@sysok.com以及admin@sysok.com,就在/home/webmaster目录下创建一个.forward文件,加入文字:look@sysok.com;admin@sysok.com。这时,发送给webmaster@sysok.com的邮件就会自动转发给look@sysok.com和admin@sysok.com。
RedHat Linux是目前国内应用比较广泛的服务器操作系统之一,sendmail以及Qpopper等都是免费软件。这套RedHat完整邮件系统完全可以负担公司内部甚至更复杂的系统工作。
|