it-swarm.cn

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

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

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

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

127.0.0.1     localhost localhost.localdomain
127.0.0.1     foo.bar
33
rjstelling

只是更改了:

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在单行版本中。

52
rjstelling

只需按照@rjstelling的建议将域添加到您的主机文件中,只会使您的邮件sent,但是难以置信于某人的收件箱中。

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

也就是说,对于 [〜#〜] fcrdns [〜#〜]数十个中的任何一项,您需要运行一台服务器来处理,实际上大多数时间都可以接受电子邮件。 [如果互联网之神甚至会简短地对你微笑]真正的答案是,您可能不应该运行自己的邮件服务器,因为这样做不值得保持良好的信誉。查看邮件服务,例如SendGrid,MailChimp等。

1
Sammitch

接受的答案:

    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上,但在编辑/etc/hosts之后mail不必工作

1
user507226