sendmail开启基于sasl的smtp认证

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

至此,配置工作完成,现在开始测试吧~