转载自:http://blog.sina.com.cn/s/blog_4152a9f501010ain.html
今天有同事反应服务器有发送邮件的需求,我在给其/etc/hosts中加入了我们邮件服务器地址后(xxxx.com和mail.xxxx.com),还是发不出去,报错如下:
delay=00:00:20, xdelay=00:00:20, mailer=esmtp, pri=120412, relay=xxxx.com., dsn=4.0.0, stat=Deferred: Name server: xxxx.com.: host name lookup failure
记得以前是可以的。
此类错误解决方法如下:
1.修改/etc/hosts文件,增加本机域名(127.0.1.1 hostname hostname.domain)
2.sudo /etc/init.d/sendmail stop
3.修改/etc/mail/service.switch文件,去掉“hosts files dns”中的dns,修改后的内容如下:
passwd files
hosts files
aliases files
4.sudo /etc/init.d/sendmail start
注意:如果不做第一步操作,虽然能发邮件,但会导致sendmail发邮件很慢,因为禁用了DNS(sendmail不会再去找DNS解析域名)它无法解析本机的全域名。