sendmail默认是不会认证发信人身份的,这就导致你的邮件服务器可能会被人随意的发送垃圾邮件。
而开启smtp认证之后,只有认证身份的用户才可以发送邮件,这样就很好的解决了上面的安全因患。
软件包安装:
开始设置前首先要确保你的CentOS上已经安装了如下四个软件包(sasl认证相关)。
cyrus-sasl-2.1.10-4.i386.rpm cyrus-sasl-md5-2.1.10-4.i386.rpm cyrus-sasl-plain-2.1.22-5.el5 cyrus-sasl-devel-2.1.22-5.el5
一般CentOS 6.5系统中都会内置前两个包,我们执行安装命令安装余下两个包。
[root@localhost ~]# yum install *sasl-p* [root@localhost ~]# yum install *sasl-d*
*sendmail配置部分:*
编辑/etc/mail/sendmail.mc文件
[root@localhost ~]# vim /etc/mail/sendmail.mc
转到第52行(因软件版本号差异,行号可能不同)可以看到如下两条语句,去掉这两行前面的注释dnl #
(注:前往不要留有空格,否则报错)。
修改后如图:
TRUST_AUTH_MECH的作用是使sendmail不管access文件中如何设置, 都能relay那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件,注意这里是对需要relay的邮件进行验证,这点很重要,只有这样通过验证的邮件才会被 relay以防止sendmail服务器被滥用。
confAUTH_MECHANISMS的作用是确定系统的认证方式。Outlook Express支持的认证方式是LOGIN。
保存并退出。
生成对应的sendmail.cf文件。
[root@localhost ~]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
重启sendmail服务。
[root@localhost ~]# service sendmail restart
启动saslauthd服务,用于支持sasl认证。
[root@localhost ~]# service saslauthd start
至此,配置工作完成,现在开始测试吧~