domain

<address-list>

Целый домен в списке адресов
в конфигурации это строкаdomainвнутри блока <address-list>
То же имя ещё 1:<address-list><virtual-mta-pool>— часть из них другие настройки, часть та же самая
Домен целиком, одной строкой

Простейшая из пяти строк: имя домена, и в список попадают все его получатели.

Домен пишется полностью — example.com, а не образец и не поддоменная маска. Для чего-то более гибкого есть address с регулярным выражением.

Что это значит на практике, зависит от того, куда подключён список: в подавлении — «этому домену не писать вовсе»; в безымянном списке обработчика — «почту с этого домена разбирать»; в списке разрешённых отправителей — «отсюда отправлять можно».

Главная ловушка — поддомены. Строка называет один домен; example.com не покрывает mail.example.com. Если нужна ветка целиком, это address с образцом вроде /@([a-z0-9-]+\.)*example\.com$/.
Что делает Хаб. Не пишет: в безымянных списках базовой конфигурации он отбирает почту образцами по локальной части (/^bounce@bounce\./), а не по домену — доменов отправки на узле много, и они меняются, а форма адреса постоянна.
Рекомендуемые значения

Значение — полное имя домена. Когда брать эту строку, а когда address:

Задача Чем
один домен целиком этой строкой
домен со всеми поддоменами address с образцом
один ящик в домене address с полным адресом
тот же ящик во всех доменах address с локальной частью
Форма записи — из руководства (§ 3.3.5.5). Замечание про поддомены и разбивка по задачам — наши.
Пример в конфигурации
# домен целиком — и рядом образец, который берёт ветку с поддоменами
<address-list suppression2>
    domain foo.com    address /@([a-z0-9-]+\.)*bar\.com$/
</address-list>
Первая строка закрывает ровно foo.com. Вторая — bar.com вместе со всеми поддоменами: одной строкой domain этого не выразить.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ждут, что домен закроет поддомены

§ 3.3.5.5

Чем чреватоexample.com не совпадает с mail.example.com. Часть писем уходит туда, куда их отправлять не собирались, а список выглядит настроенным.
Как заметитьПодавление работает для основного домена и молчит для поддоменов.
Как правильноБрать address с образцом, закрепляющим конец имени: /@([a-z0-9-]+\.)*example\.com$/.

Пишут в строку образец

наш опыт

Чем чреватоСтрока принимает только полное имя домена. Косые черты и метасимволы здесь не разбираются — правило не совпадёт ни с чем.
Как заметитьСтрока есть, совпадений нет, ошибок тоже нет.
Как правильноОбразцы писать в address: это единственная строка списка, которая их понимает.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
domain <domain>
Значения
полное имя домена
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<address-list>
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Наследования у строки нет: она действует внутри своего блока <address-list>. Наследуется ссылка на список — suppression-lists в <source> сливается по правилу источников, в пуле достаётся участникам, а собственная строка участника пуловую перекрывает.
Как проверить на узле
Проверяется, как и весь список, — по отказу, в котором стоит его имя:
pmtaacctfind --output csv[rcpt,dsnDiag] /var/log/pmta/acct-*.csv
Если получатель поддомена проходит мимо списка, это не сбой: строка называет один домен. Для ветки нужен образец в address.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Приём входящей почты