opendmarc: hostname fqdn () показывает только короткое имя / команда helo отклонена fqdn

У меня проблема с opendmarc. Это программное обеспечение использует функцию Perl для отправки писем с отчетами. Итак, в исходном коде я вижу, что / etc / opendmarc_reports также использует функцию hostnamefqdn (), чтобы передать ее команде helo smtp. Затем я вижу в журналах postfix это сообщение: Команда Helo отклонена: требуется полное имя хоста.

Моя конфигурация: / etc / hosts

127.0.1.1 mail.local почта

/ etc / hostname

Почта

$ hostname -f
mail.local
$ perl -e 'use Net::Domain qw(hostfqdn); print hostfqdn()."n";'
mail

Почему функция perl hostnamefqdn () в этом случае возвращает только короткое имя домена вместо fqdn? Конечно, когда я меняю имя хоста на mail.local, тогда все в порядке.

1 ответ
1

Большая часть кода, который пытается определить полное доменное имя хоста, делает это, просматривая поле «каноническое имя», возвращаемое функциями gethostbyname () или getaddrinfo ().

Когда поиск обрабатывается / etc / hosts, первый name в каждой строке — это «каноническое» имя этой записи, остальные — «псевдонимы». Ваша запись должна выглядеть так:

127.0.1.1 mail.local mail

  • Конечно я настроил так же, как вы показываете. Только моя ошибка при переписывании со своего сервера. Так что на других моих серверах он работает хорошо. Только в одном случае у меня проблема с hostnamefqdn (), и все время он возвращает не имя хоста fqdn.

    — Максерфинг
    10 часов назад

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *