“我的不合格主机名(foo.bar)未知”问题


31

尝试sendmail使用wordpress插件启动或发送邮件时,此错误显示在maillog

"My unqualified host name (foo.bar) unknown; sleeping for retry"

谷歌搜索之后,最好的建议是“将foo.bar添加到/ etc / hosts文件中”,但是它已经是:

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar

Answers:


50

只是更改了:

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar

对此

127.0.0.1     localhost localhost.localdomain foo.bar

Sendmail查找完全限定的域名(FQDN)名称,并将localhost.localdomain在单行版本中使用。


1
解决了我的问题。只是想清楚一点,应该在此行中输入主机名。因此,首先使用hostname命令找到它,然后将其添加到\ etc \ hosts中的该行中。谢啦。
莱昂,

它对我不起作用
user10089632'3

或实际使用已经存在且配置正确的域名。至少如果您希望您的邮件被送达,则应该这样做。
Sammitch

只是为了澄清一下-foo.bar应该是您的名称hostname,以便轻松运行主机名$ hostname。然后按照此解决方案中的建议,将显示的主机名添加到该行
Shir Gans

0

只需按照@rjstelling的建议将域添加到您的主机文件中,将仅允许发送您的邮件,但难以置信的是它不会进入某人的收件箱。

为了发送不会被标记为垃圾邮件的电子邮件,更不用说接收服务器只是终止发送尝试或丢弃邮件,您需要使用一个真实的,已注册的域名,该域名具有有效的DNS和MX记录。

这就是说,对于FCRDNS或运行服务器可能需要接受的大多数操作而言,它不需要执行任何数十种操作中的任何一项。[如果互联网之神甚至会简短地对你微笑]真正的答案是,您可能不应该运行自己的邮件服务器,因为这样做不值得保持良好的信誉。调查诸如SendGrid,MailChimp等的邮件服务。


0

接受的答案:

    127.0.0.1   localhost localhost.localdomain foo.bar

似乎有效,但是会产生以下错误/var/log/syslog

    sendmail[11655]: gethostbyaddr(192.168.1.123) failed: 1

但只留下

    127.0.0.1   localhost

在中/etc/hosts,并且删除第二行允许mail发送,并且不会导致任何错误。

更新:在执行操作时sudo ...whatever..出现一条消息sudo: unable to resolve host foo.bar,但是看起来它什么都没有影响。

顺便说一句,要不重新启动就重新启动主机名服务:

    systemctl restart systemd-hostnamed

在Ubuntu 16.04上,但mail编辑后无需工作/etc/hosts

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.