本方案的系统环境是RedHat 8.0。RedHat 8.0默认安装的是Sendmail 8.12.5 ,本测试环境中选择最新版本Sendmail8.12.9,所以需要先卸载旧版本: rpm -e sendmail-8.12.5安装Sendmail sasl支持 1、安装认证库 如果先前已经安装有旧版本的 Cyrus SASL,请先将其移除,方法是手工删除/usr/lib/sasl或/usr/local/lib/sasl目录。 安装过程如下: #cd /home/test #tar xvfz cyrus-sasl-1.5.28.tar.gz # cd cyrus-sasl-1.5.28 # ./configure -prefix=/usr --enable-login --with-pwcheck # make # make install 安装完成后,建立一个/var/pwcheck目录,pwcheck程序要用此目录。 接下来必须设置Sendmail的使用者身分查验方式,这里使用系统帐号与密码来进行验证。 安装结束以后,因为默认的安装路径为/usr/local/lib ,所以将认证库拷贝到/usr/lib中(openwebmail默认路径为/usr/lib)。 # cp /usr/local/lib/lib* /usr/lib # ln -s /usr/local/lib/sasl2 /usr/lib/sasl # cd /usr/lib/sasl # echo "pwcheck_method:pwcheck" > Sendmail.conf 2、安装Sendmail # cd /home/test # rpm -Uvh sendmail*.rpm 生成sendmail.cf文件,一般是编译sendmail.mc来生成sendmail.cf,这样的好处是通过编译,会查看出一些Sendmail的设置错误和漏洞。 # cd /etc/mail # vi sendmail.mc 笔者的sendmail.mc内容略(需要的读者可以向责编来函索要),但需要注意以下方面。 首先,为了支持Outlook或Foxmail,要将 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl 的注释去掉,打开相应的认证机制。 其次,要设置相应的mta和msa的所用端口: DAEMON_OPTIONS(`Port=25,Name=MTA')dnl DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl 第三,为了允许通过网络连接Sendmail,并禁止不可解析的域名relay邮件,要将下面的代码注释掉: dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') dnl FEATURE(`accept_unresolvable_domains' 最后保存。 3、编译sendmail.mc 生成sendmail.cf文件 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf # echo "chinafood.org" > local-host-names # sendmail -bd -q20m (启动sendmail) # pwcheck
|