一、sendmail的配置文件:
1、配置文件目录:/etc/mail:
“.fc”是配置文件,”.db“是数据库文件,通过配置“.mc”文件再生成“.fc”文件。
2、通过mc文件配置sendmail的一般步骤:
①、修改sendmail.mc文件中的内容(提前做好备份);
②、使用m4命令生成新的sendmail.fc文件(m4命令要在/etc/mail目录下执行);
③、重启sendmail服务器,使新配置生效。
3、数据库文件的配置:
①、在数据库配置文件中进行内容的配置;
②、使用makemap命令讲数据库配置文件生成对应的数据库文件;
③、重启sendmail服务器,使新配置生效。

二、Sendmail常见配置:
1、域名设置:
在DNS添加A记录和MX记录:
mail.rhel4a.com     192.168.100.1;

2、设置“local-host-names”文件:
在rhel4a上:
[root@localhost ~]# vi /etc/mail/local-host-names                     //电子邮件域名;
# local-host-names - include all aliases for your machine here.
rhel4a.com

3、开启Sendmail服务器的网络接口:
默认情况下Sendmail服务器只对lo网络接口(127.0.0.1)提供服务,为使服务器对主机的所有接口(0.0.0.0)提供服务,需要在Sendmail.mc文件中进行配置的修改。
在rhel4a上:
[root@localhost ~]# vi /etc/mail/sendmail.mc
#查找并修改“DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl”:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

4、Sendmail服务器的用户管理
①、设置SMTP的用户认证:
[root@localhost ~]# vi /etc/mail/sendmail.mc
#去掉“dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#和“dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl”
#前面“dnl”,也就是去掉注释:
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

②、确保saslauthd服务程序正确运行:
[root@localhost ~]# cat /usr/lib/sasl2/Sendmail.conf
pwcheck_method:saslauthd
[root@localhost ~]# chkconfig --level 35 saslauthd on
[root@localhost ~]# chkconfig --list saslauthd
saslauthd       0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:启用  6:关闭
[root@localhost ~]# service saslauthd start
启动 saslauthd:                                           [  确定  ]

③、用户账号:
Sendmail服务器使用Linux系统中的用户账号作为邮件服务器账号:
建立邮件用户组:
[root@localhost ~]# groupadd mailuser

创建邮件用户账号:
[root@localhost ~]# adduser -g mailuser -s /sbin/nologin mike             #-s选项指定用户的shell为/sbin/nologin,即不允许用户在本地登陆系统      
[root@localhost ~]# useradd -g mailuser -s /sbin/nologin john

设置用户口令:
[root@localhost ~]# passwd mike
[root@localhost ~]# passwd john

④设置邮件别名和邮件群发功能:
[root@localhost ~]# vi /etc/aliases
admin:          mike                #设置别名;
testgroup       mike,john       #设置群发;
[root@localhost ~]# newaliases      #更新/etc/aliases.db数据库的内容;
/etc/aliases: line 95: missing colon
/etc/aliases: 79 aliases, longest 10 bytes, 811 bytes total

5、访问控制设置:
[root@localhost ~]# cat /etc/mail/access
# by default we allow relaying from localhost...
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY

6、生成Sendmail.cd文件:
[root@localhost ~]# cd /etc/mail       #一定要进入/etc/mail命令才能执行m4命令;
[root@localhost mail]# m4 sendmail.mc> sendmail.cf

7、重启Sendmail服务器:
[root@localhost mail]# service sendmail restart

8、测试Sendmail服务程序是否对所有网络接口进行25端口的监听:
[root@localhost mail]# netstat -ntpl | grep 25
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      12127/sendmail: acc

9、远程Telnet服务器的25端口,验证邮件服务器的SMTP认证功能:
telnet 192.168.100.1 25        #一定要关邮件服务器的防火墙