в своих журналах postfix я часто вижу, что postfix не удалось отправить письмо на root@levinus [мое имя хоста], потому что нет записи DNS для levinus. Но в моем /etc/hosts есть запись для levinus (--> 127.0.0.1 И мой статический IP). С помощью ping я могу добраться до levinus, затем я пингую себя. Но почему postfix не принимает записи /etc/hosts?
Фрагмент постфиксного журнала:
BC59A2FE000B: to=<root@levinus>, relay=none, delay=0.03,
delays=0.01/0/0.02/0, dsn=5.4.4, status=bounced (Host or domain name not
found. Name service error for name=levinus type=AAAA: Host not found)
Oct 11 14:47:29 levinus postfix/qmgr[29217]: BC59A2FE000B: removed
Часть /etc/hosts:
[STATIC IP] levinus
127.0.0.1 localhost.localdomain localhost levinus
Система — Ubuntu 14.04 LTS.
//Изменить С inet_protocols = ipv4 в main.cfg из postfix то же самое. Только сообщение об ошибке другое (type = A). Когда я добавляю levinus в запись IPv6 ::1 в /etc/hosts, то же самое (type = AAAA)
//Edit2 postfix регистрирует даже имя levinus
хоста:
Oct 12 14:40:33 levinus postfix/smtpd[10103]: connect from levinus[127.0.0.1]
Oct 12 14:40:33 levinus postfix/smtpd[10103]: disconnect from levinus[127.0.0.1]
Но все письма на адрес root@levinus по-прежнему возвращаются.
Даже когда я редактировал /etc/nsswitch.conf hosts: files
только на postfix, я не знал собственного имени хоста. До этого он был установлен на hosts: files dns
.
решение1
Проблема не в адресе IPv4, а в IPv6, поскольку AAAA
запись не существует.
Эту проблему можно решить, переключив Postfix на использование только IPv4, sudo postconf -e 'inet_protocols = ipv4'
а затем перезагрузив Postfix.