搭建sendmail邮件服务器1要求有两台服务器192.169.25.1192.169.25.252,分别在两台服务器上搭建sendmail服务器,在192.169.25.1上搭建DNS服务器,实现两台邮件服务器能相互发送邮件2步骤2.1配置好两台服务器的主机名,不仅要使用hostname命令修改,还要修改/etc/hosts和/etc/sysconfig/network中的主机名,切记两台sendmail的主机名不能一样,否则发送邮件会报”错loopbackme(?MXproblems)“因为邮件服务器不能是发送到其他服务器还是就在本地发送邮件。配置如图:192.169.25.1192.169.25.2522.2在192.168.25.1上配置DNS服务器,需要注意的是每个MX记录都要有对应的A记录指向正确的服务器IP地址,一定要配置好反解,否则邮件有可能邮件已经发送但是接受方却没接收到。/var/named/chroot/etc/named.conf配置域pxy.com的数据文件/var/named/chroot/var/named/pxy.com.zone配置域ehome.com的数据文件/var/named/chroot/var/named/ehome.com.zone配置反解192.168.25数据文件/var/named/chroot/var/named/192.168.25.rev3测试DNS服务器,测试必须成功,否则不能进行下一步的配置,如图的检测结果为成功192.168.25.1192.168.25.2524sendmail的安装和配置3.1安装包yuminstallsendmail*-yyuminstallm4-yyuminstalldovecot-yyuminstallcyrus-sasl*-yyuminstallprocmail-y3.2修改配置文件/etc/mail/sendmail.mc,这是sendmail的主配置文件,该配置文件有效配置如下其中标记部分是需要修改的或去掉注释的,其他是系统默认就存在的。配置文件中每行都要顶格写并以dnl结尾,行开头的dhl表示注释该行[root@pxy~]#grep-v"^dnl"/etc/mail/sendmail.mcdivert(-1)dnlinclude(`/usr/share/sendmail-cf/m4/cf.m4')dnlVERSIONID(`setupforlinux')dnlOSTYPE(`linux')dnldefine(`confDEF_USER_ID',``8:12'')dnldefine(`confTO_CONNECT',`1m')dnldefine(`confTRY_NULL_MX_LIST',`True')dnldefine(`confDONT_PROBE_INTERFACES',`True')dnldefine(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnldefine(`ALIAS_FILE',`/etc/aliases')dnldefine(`STATUS_FILE',`/var/log/mail/statistics')dnldefine(`UUCP_MAILER_MAX',`2000000')dnldefine(`confUSERDB_SPEC',`/etc/mail/userdb.db')dnldefine(`confPRIVACY_FLAGS',`authwarnings,novrfy,noexpn,restrictqrun')dnldefine(`confAUTH_OPTIONS',`A')dnlTRUST_AUTH_MECH(`EXTERNALDIGEST-MD5CRAM-MD5LOGINPLAIN')dnldefine(`confAUTH_MECHANISMS',`EXTERNALGSSAPIDIGEST-MD5CRAM-MD5LOGINPLAIN')dnl<------这两行是打开安全验证模块define(`confTO_IDENT',`0')dnlFEATURE(`no_default_msa',`dnl')dnlFEATURE(`smrsh',`/usr/sbin/smrsh')dnlFEATURE(`mailertable',`hash-o/etc/mail/mailertable.db')dnlFEATURE(`virtusertable',`hash-o/etc/mail/virtusertable.db')dnlFEATURE(redirect)dnlFEATURE(always_add_domain)dnlFEATURE(use_cw_file)dnlFEATURE(use_ct_file)dnlFEATURE(local_procmail,`',`procmail-t-Y-a$h-d$u')dnlFEATURE(`access_db',`hash-T-o/etc/mail/access.db')dnlFEATURE(`blacklist_recipients')dnlEXPOSED_USER(`root')dnlDAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,Name=MTA')dnl<--设置为全网监听DAEMON_OPTIONS(`Port=submission,Name=MSA,M=Ea')dnlFEATURE(`accept_unresolvable_domains')dnlLOCAL_DOMAIN(`localhost.localdomain')dnlLOCAL_DOMAIN(`pxy.com')dnl<--打开短域名支持mail.pxy.com为完全域名MAILER(smtp)dnlMAILER(procmail)dnl修改完这个文件后,sendmail并不能识别,需要使用m4命令转换成可用的配置文件m4/etc/mail/sendmail.mc>/etc/mail/sendmial.cf如果命令不好使,需要检查我们的m4包是否安装好了3.3修改配置文件/etc/mail/access该文件用于控制能使用该邮件服务器发送/接收的域名,IP,网段.192.168.25.1192.168.25.252sendmail也不能直接的识别access文件需要使用makemap命令来转换为一个hash数据库makemaphash/etc/mail/access.db