3步解决sendmail不发邮件问题

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
久有凌云
帖子: 15
注册时间: 2021-10-26 14:07
系统: Ubuntu-mate20.04

3步解决sendmail不发邮件问题

#1

帖子 久有凌云 » 2022-03-20 22:18

在CentOS Linux 7系统,部署sendmail邮件服务器,完成各种设置后,在客户端发送接收邮件时,出现sendmail不能发送邮件问题,试发的邮件全部被延迟未发出,如图:
01_不发邮件问题.png
用推荐的解决办法也未能奏效。后参阅中外网上有关帖子,自己进行了测试,用以下3步可解决以上问题:
第一步:进入/etc/mail/目录下,创建、编辑service.switch文件,写入:hosts files,如图:
02_创建编辑SeviceSwith.png
第二步:修改sendmail.mc文件,写入:define(`confSERVICE_SWITCH_FILE', `/etc/mail/service.switch')dnl,如图:
03_编辑Sendmail.mc.png
第三步:用sendmail.mc编译主配置文件sendmail.cf,如图:
04_编译sendmailMCtoCF.png
重启sendmail:systemctl restart sendmail,在客户端发邮件,在服务器端查看,如图:
04_服务端查看.png
在客户端查看,已收到邮件,如图:
05_客户端收信.png
Sendmail不发邮件的问题已解决。
头像
astolia
论坛版主
帖子: 6494
注册时间: 2008-09-18 13:11

Re: 3步解决sendmail不发邮件问题

#2

帖子 astolia » 2022-03-21 10:44

最不喜欢看到这种帖子,前因后果都不整理清楚,感觉就是乱搜乱试一通,碰上了就当解决了,对自己和后来人的帮助都不大。

问题的根源倒推也能知道,其实就是sendmail默认只用dns来解析域名,而本案例中是自己随便设了个pip.cc的域名,只在本机hosts文件里做了解析,但设置的dns服务器里没有提供对应的ip解析。结果就是sendmail无法获取ip地址,邮件就发不出去。

解决方案有两种,一种是架设一个能解析pip.cc的dns服务器,并让需要解析的机器都用上这个dns服务器。还有一种就是让sendmail去读取hosts文件里的ip记录。楼主采用的方案是后者,但在企业中,前者才是该选用的。因为前者只需要在单一机器上设置,dns服务器地址自动通过dhcp下发,方便管理。
回复