在使用sendmail发送邮件时,有时在gitlab上的日志已经将邮件发送,但是有些用户就是收不到email.
查看了系统日志,才发现是sendmail发送时,通过一个指定的smtp服务器,smtp服务器拒绝请求了。
原因分析:默认情况下,sendmail用了/etc/hosts中的主机名来作为发件人:localhost.localdomain
然后就被拒绝了,出错信息类似:
421 invalid sender domain 'localhost.localdomain'
解决方法:
修改/etc/hosts里面的第一行:
无需重启,然后在观察/var/log/syslog日志,发现已可以正常发送邮件了,至此问题解决。