当尝试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
答案1
简单改变一下:
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
在单行版本中使用。
答案2
只需按照@rjstelling 的建议将域名添加到您的主机文件中,即可让您的邮件发送,但它不太可能出现在某人的收件箱中。
为了发送不会被标记为垃圾邮件的电子邮件,更不用说接收服务器只是终止投递尝试或丢弃该邮件,您需要使用真实、已注册具有有效 DNS 和 MX 记录的域名。
更不用说域名解析服务或任何一个许多您需要执行的操作才能运行一个可能大多数时间都能接受电子邮件的服务器。[如果互联网之神愿意对你微笑,哪怕只是短暂地微笑] 真正的答案是,您可能不应该运行自己的邮件服务器,因为根本不值得为保持其良好状态而付出努力。查看 SendGrid、MailChimp 等邮件服务。
答案3
接受的答案:
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
mail
在 Ubuntu 16.04 上,但编辑后不需要运行/etc/hosts