我经常从 postfix 的 mail.log 中收到消息。特别是,但不仅限于,在 mailman 发送的邮件中收到消息。
警告:主机名 localhost 无法解析地址 ::1:没有与主机名关联的地址
::1 以及 127.0.0.1 被定义为 /etc/hosts 中的本地主机——由 openVZ 提供。
实际上在 /etc/hosts 中配置了这些(出于某些原因,我删除了特殊的域和 IP):
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
2a01::<some IPv6> host.example.org host example.org
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
xxx.xxx.xxx.xxx host.example.org host example.org
::1 localhost ip6-localhost ip6-loopback
这似乎有效:
$ host localhost
localhost has address 127.0.0.1
localhost has IPv6 address ::1
在这个盒子上bley也在运行。
答案1
似乎添加
multi on
到 /etc/host.conf 已经解决了该问题。
根据我在互联网上找到的信息,这允许一个主机名(在本例中为 localhost)拥有多个 IP,适合 IPv4 地址和 IPv6。
答案2
此外:后缀指出添加
import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C RESOLV_MULTI=on
添加到 /etc/postfix/main.cf 也能解决这个问题。对我来说只有这种方式有效。
答案3
除了给出的 frlan 答案之外,在 Ubuntu 12.04 系统上,/etc/host.conf 具有“multi on”,并且 etc/hosts 文件正确识别了 ipV4 和 ipV6 本地主机地址。
问题仍然存在,就我而言,问题出在 postfix init 脚本中,如 Debian 日志中所述:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723915
因此,将(简单)补丁应用到 /etc/init.d/postfix 意味着 Postfix 使用 /etc/host.conf 并且问题消失。
Postfix v 2.9.6
答案4
更改你的 /etc/hosts:
::1 localhost
到
::1 localhost6.localdomain localhost6 ip6-localhost ip6-loopback
如果不起作用,请发布您的 /etc/hosts。