在这个文件中一共可以有如下7个选项:
ok
relay
reject
discard
skip
###anytext
error:###any text
error D.S.N:### anytext
下面对前4项常用选项作一个简单说明。
(1) ok意味着这个地址或地址区域内的用户邮件将会被这个邮件服务器接收,但不一定会有权转发,即使在这个邮件服务器配置文件中的其他规则不允许发送或接收这些用户的信件。
(2) relay意味着接收发往指定区域或从指定区域过来的邮件,并且允许它从这个SMTP服务器转发。
(3) reject意味着拒绝某一个发送者或区域。
(4) discard意味着直接丢弃这个邮件信息
三.配置sendmail的SMTP认证功能
传统的邮件传送协定 (SMTP)不具备对使用者身份进行认证的功能。要解决这个问题,可配置搭配 cyrus sasl身分认证程序库(SENDMAIL也需要8.10以上的版本),具体实现方法如下:
一、 下载并安装cyrus sasl身分认证程序库;下载地址是
(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
.回到工作目录,展开并进入cyrus-sasl-1.5.24.tar.gz目录:
#tar zxvf cyrus-sasl-1.5.24.tar.gz
#cd cyrus-sasl-1.5.24
# ./configure -prefix=/usr --enable-login --with-pwcheck --with-digest
# make
# make install安装完成后,建立一个/var/pwcheck目录,pwcheck程序要用此目录。 接下来必须设置 sendmail 的使用者身分查验方式,这里使用系统帐号与密来进行验证:
# cd /usr/lib/sasl/
# cat > Sendmail.conf
pwcheck_method: shadow
关于 Cyrus SASL 认证程序库更详细的说明,请参阅 Cyrus SASL for System Administrators。 <http://www.sendmail.org/%7Eca/email/cyrus/sysadmin.html>
二、编译和配置sendmail
1.解压sendmail软件到你希望的目录,进入sendmail目录。
在devtools/Site/目录下创建config.site.m4文件,加入如下两行文字,把SMTP认证
功能编译到sendmail中。
APPENDDEF(`confENVDEF', `-DSASL')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')
2.回到sendmail目录,再进入sendmail目录,开始编译sendmail。
./Build -c(如果不是第一次编译,需要加入-c选项,清除以前的配置)
编译成功后,运行./Build install安装软件。
3.下一步需要改写Sendmail的配置文件。回到上一级目录,再进入cf/cf目录,找到合适
的.mc文件。按照你的要求适当修改,加入如下几行:
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5')
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5')
FEATURE(`no_default_msa')
DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')
说明:"TRUST_AUTH_MECH"的作用是使sendmail不管access文件中如何设置,都能
relay那些通过LOGIN,PLAIN或DIGEST-MD5方式验证的邮件。
"confAUTH_MECHANISMS"的作用是确定系统的认证方式。
。
4.编译生成/etc/mail/sendmail.cf文件
m4 xxxx.mc >/etc/mail/sendmail.cf,不过记住一定要备份旧的sendmail.cf文件,
否则就可能麻烦了。
5.现在基本上可以了,启动sendmail
sendmail -bd -q20m