这里是普通文章模块栏目内容页
sendmail发送邮件失败解决一例
今天有同事反应服务器有发送邮件的需求,我在给其/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解析域名)它无法解析本机的全域名。