host-name

Globalкритично

Имена этого узла и имя в приветствии SMTP
в конфигурации это строкаhost-nameвнутри блока Global
То же имя ещё 1:Global<virtual-mta>— часть из них другие настройки, часть та же самая
Имена узла и имя в приветствии

Объявляет полные доменные имена, на которые откликается узел. Повторять можно, порядок значим: первое имя — главное, оно идёт в заголовки Received и в Message-ID, которые узел формирует сам.

Какое имя попадёт в приветствие, решает разбор из пяти шагов — самый запутанный порядок в этой части руководства. Сверху вниз: умолчание источника default-virtual-mta; если оно называет адрес отправки — имя, привязанное к совпавшему адресу этого потока; если пул — имя первого участника, без ротации; если стоит зарезервированное значение — имя потока, чей адрес совпал с адресом подключения; иначе — первое подходящее имя из общих smtp-source-host или smtp-proxy-source-host; и только если ничего не подошло — первое имя отсюда.

Побочное действие, о котором легко забыть. Руководство пишет, что директива ведёт себя как relay-domain: узел начинает принимать почту для объявленного домена. Объявляя имя, вы объявляете и готовность его обслуживать.

Главная ловушка. Из-за разбора эта директива на многих узлах не влияет на приветствие вообще: имя берётся у адреса отправки — вторым словом smtp-source-host, — и правка здесь не даёт ничего. Выглядит это как «настройка не применилась», а на деле она перекрыта.
Что делает Хаб. Не пишет её вовсе. Имя в приветствии Хаб задаёт вторым словом smtp-source-host на каждом адресе отправки — это другая директива, и разбор берёт её раньше. Прямую и обратную записи Хаб сверяет до ввода адреса в работу: несовпадение — предупреждение, а не запрет.
Рекомендуемые значения

Что ставить. Значение — полное доменное имя; повторять можно, первое главное. На узле парка выбор простой:

Как задавать Кому Почему
не задавать вовсе парку с именем на каждом адресе отправки разбор до этой строки не доходит
одно имя узла одиночному узлу с одним адресом имя узла и есть имя отправителя
несколько имён узлу, который принимает почту нескольких доменов помните про побочное действие приёма

Никогда не рассчитывайте на одно имя для парка: пяти адресам нужно пять имён, и задаются они на самих адресах, а не здесь.

Разбор из пяти шагов, «первое главное» и побочное действие приёма — из руководства. Совет не задавать её в парке — наш.
Пример в конфигурации
# имя узла — и сразу же согласие принимать почту для этого домена
host-name mail.example.com
# а имя в приветствии для писем этого адреса берётся отсюда
<virtual-mta shop-example-com>
    smtp-source-host 203.0.113.10 shop.example.com
</virtual-mta>
Письма через shop-example-com представятся именем shop.example.com, а не mail.example.com: разбор берёт имя адреса отправки раньше. Верхняя строка при этом продолжает означать, что узел принимает почту для mail.example.com.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

Типичные ошибки и проблемы

что делают не так и чем это кончается3 ошибки▶

Правят имя здесь, а оно задано на адресе отправки

§ 3.3.1.35

Чем чреватоРазбор берёт имя адреса отправки раньше. Правка применяется без ошибок и не меняет ничего — узел представляется прежним именем.
Как заметитьКонфигурация перезагружена, а в EHLO прежнее имя.
Как правильноПравить вторым словом smtp-source-host в нужном адресе отправки. Эту директиву трогать только там, где имён на адресах нет вовсе.

Объявляют имя, не собираясь принимать для него почту

§ 3.3.1.35

Чем чреватоДиректива ведёт себя как relay-domain: узел начинает принимать письма для объявленного домена. Для домена, чью почту обслуживает кто-то другой, это тихая перехватка части потока.
Как заметитьНа узел приходят письма для домена, который здесь не обслуживается; в учёте появляются входящие с неожиданными получателями.
Как правильноОбъявлять здесь только те имена, почту которых узел действительно должен принимать. Имя для приветствия задаётся не здесь.

Ставят умолчанием источника имя пула и ждут ротации имён

§ 3.3.1.35

Чем чреватоДля пула разбор берёт имя первого участника и не меняет его. Все адреса пула представляются одним именем, и у всех, кроме одного, оно расходится с обратной записью.
Как заметитьНесовпадение имени в приветствии и обратной записи на всех адресах пула, кроме первого.
Как правильноЗадавать имя каждому адресу отправки отдельно — вторым словом smtp-source-host: тогда разбор до пула не дойдёт.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
host-name <fully-qualified-name>
Значения
полные доменные имена; повторяется, первое считается главным
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global, <virtual-mta>
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Директива пишется в корне файла, раздел Global, и действует на весь узел. Записанная внутри <virtual-mta>, она перекрывает общее имя для писем, уходящих через этот адрес отправки. Но перекрытие — не последнее слово: разбор из пяти шагов всё равно раньше смотрит на имя, привязанное к адресу в smtp-source-host.
⇄

Связанные директивы

4 связи

Как проверить на узле
Спорить о разборе бессмысленно — надёжнее посмотреть, чем узел представляется на самом деле:
swaks --server 203.0.113.10 --to probe@example.net --quit-after HELO
В ответе видно имя из команды EHLO. Оно должно совпадать с тем, что возвращает dig -x 203.0.113.10 +short. Если имя не то, которое вы задавали здесь, — значит разбор взял его выше, у адреса отправки, и править надо там.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки · Подпись и аутентификация писем
Важность
критично