sendmail發送郵件故障
gitlab內部使用sendmail發送郵件。有時候看gitlab上的日志已經將郵件發送,但是有些用戶就是收不到email.
後來還是查看了系統日志,才發現是sendmail發送的時候,通過一個指定的smtp服務器,smtp服務器拒絕請求了。原因是默認情況下,sendmail用了/etc/hosts中的主機名來作為發件人:localhost.localdomain
然後就被拒絕了,出錯信息類似:
421 invalid sender domain 'localhost.localdomain'
解決方法就是修改/etc/hosts裡面的第一行:
127.0.0.1 gitlab.youdomain.com localhost ubuntu1204-dell
# 127.0.0.1 localhost.localdomain localhost ubuntu1204-dell
也不要重啟,然後在觀察/var/logs/syslog日志,問題解決了。