<domain>

критично

Настройки, применяемые к очереди на конкретного получателя
Очередь получателя и слияние блоков

Очередь у PowerMTA — это пара «получатель + адрес отправки». Блок <domain> описывает, как вести себя с конкретным получателем: сколько соединений открывать, с какой скоростью слать, как долго повторять после отказа, подписывать ли письма и что записывать в учёт.

Блоков может быть много, и они складываются. Значения из подходящих блоков сливаются от общего к частному: <domain *> задаёт базу, <domain yahoo.com> уточняет её для одного получателя. Побеждает самое точное совпадение, а порядок строк в файле роли не играет — это частая ошибка чтения чужого конфига.

Пример в конфигурации
# база для всех получателей
<domain *>
    max-smtp-out 15
    max-msg-rate 10/m
    retry-after 10m
</domain>

# строгий получатель — своё
<domain yahoo.com>
    max-smtp-out 5
</domain>
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Директивы блока: 135
Подпись 22
dkim-signкритичноХаб задаёт самПодписывать ли письма этому получателюcheck-spf-outboundПроверять ли SPF своей почты перед отправкой этому получателюdkim-identityОт чьего имени поставлена подписьarc-identityОт чьего имени заверена пересылкаarc-signЗаверять ли подписью пересылки письма этому получателюdkim-add-body-limitПодписывать ли только начало тела, разрешив дописывать внизdkim-disallow-adding-headersКакие заголовки должны ломать подпись, если их добавят после неёdkim-headersКакие заголовки письма попадают под подписьdkim-identity-fallbackЗапасное имя подписи, если по основному ключа не нашлосьarc-algorithmКаким алгоритмом считается заверение пересылкиarc-body-canonКак приводится тело письма перед заверением пересылкиarc-expire-afterЧерез сколько заверение пересылки перестаёт считаться действительнымarc-headersКакие заголовки попадают под заверение пересылкиarc-headers-canonКак приводятся заголовки перед заверением пересылкиarc-identity-fallbackЗапасное имя заверения, если по основному ключа не нашлосьarc-oversigned-headersКакие заголовки должны ломать заверение, если их добавят после негоdkim-add-timestampСтавить ли в подпись момент её созданияdkim-algorithmКаким алгоритмом считается подписьdkim-body-canonНасколько терпима подпись к правке тела письма в путиdkim-expire-afterЧерез сколько подпись перестаёт считаться действительнойdkim-headers-canonНасколько терпима подпись к правке заголовков в путиdkim-query-methodКак получатель должен искать открытый ключ
Доставка 22
allow-cancel-during-transferМожно ли обрывать соединение, пока тело письма передаётсяassume-delivery-upon-data-termination-timeoutХаб задаёт самСчитать ли доставку состоявшейся, когда подтверждения так и не пришлоauth-usernameИмя пользователя, которым узел представляется приёмникуcommandКакую программу запускать для писем этой очередиconnect-timeoutСколько ждать, пока установится исходящее соединениеfile-destinationКуда очередь пишет файлы — каталог или имя файлаfile-formatВ каком виде очередь пишет письма в файлыmax-errors-per-connectionХаб задаёт самСколько ошибок по получателям обрывает соединениеretry-upon-new-mailПробовать ли доставку сразу, когда в стоящую очередь пришло новое письмоsmtp-421-means-mx-unavailableХаб задаёт самУходить ли на следующий сервер MX, получив ответ 421smtp-data-termination-timeoutСколько ждать финального 250 после отправки тела письмаtypeЧем эта очередь отдаёт письма — SMTP, файлом, программой, вебхуком или никакverp-defaultВписывать ли получателя в обратный адрес писем к этому получателюdata-send-timeoutСколько ждать отправки очередного куска тела письмаdefault-smtp-portНа какой порт стучаться, если не задан явный список серверовignore-8bitmimeНе сообщать приёмнику, что тело письма восьмибитноеignore-chunkingНе пользоваться расширением CHUNKING, даже если приёмник его объявилignore-dsnНе пользоваться расширением DSN, даже если приёмник его объявилignore-pipeliningНе пользоваться расширением PIPELINING, даже если приёмник его объявилpix-bug-workaroundОтправлять ли финальную точку отдельным пакетом ради старых экранов Cisco PIXsmtp-greeting-timeoutСколько ждать приветствия 220 после установления соединенияtrack-jobsПоказывать ли задания приёмника на странице монитора
Лимиты 20
max-msg-rateкритичноХаб задаёт самС какой скоростью отдавать письма этому получателюmax-smtp-outкритичноХаб задаёт самСколько одновременных соединений узел держит к одному получателюbackoff-max-msg-rateХаб задаёт самКакой темп действует, пока очередь в backoffbackoff-max-smtp-outХаб задаёт самСколько одновременных соединений держать, пока очередь в backoffmax-connect-rateХаб задаёт самКак быстро открывать новые соединения к этому получателюsource-ip-max-connect-rateКак быстро открывать соединения с одного исходящего адресаsource-ip-max-msg-rateСколько получателей в интервал пробовать с одного исходящего адресаsource-ip-max-smtp-outСколько одновременных соединений к этому получателю с одного исходящего адресаbackoff-max-connect-rateКакой темп открытия соединений действует, пока очередь в backoffbackoff-max-data-volume-rateКакой темп по объёму действует, пока очередь в backoffconnection-idle-timeoutХаб задаёт самСколько держать простаивающее соединение открытым в ожидании писемmax-data-volume-rateХаб задаёт самСколько байт за интервал, считая только успешные доставкиmax-msg-per-connectionХаб задаёт самСколько писем уходит в одном соединении до переподключенияmax-rcpt-per-transactionСколько получателей передаётся приёмнику за одну передачуsmtp-out-rampup-intervalХаб задаёт самМинимальная пауза перед открытием следующего соединения этой очередиsource-ip-max-data-volume-rateСколько байт за интервал допускается с одного исходящего адресаmax-rcpt-per-messageВторое имя директивы max-rcpt-per-transactionbackoff-max-msg-per-hourустарелаТемп в щадящем режиме — устаревшая форма с зашитым часомmax-msg-per-hourустарелаТемп писем к приёмнику — устаревшая форма с зашитым часомmax-smtp-out-per-source-ipустарелаУстарела в пользу source-ip-max-smtp-out
TLS 17
require-starttlsХаб задаёт самОтказываться ли от доставки, если шифрование не сложилосьsmtp-tls-min-versionНижняя граница версии TLS к приёмникуuse-daneПроверять ли требования приёмника из записей DANEuse-mta-stsХаб задаёт самПроверять ли соединение по политике MTA-STS приёмникаuse-starttlsХаб задаёт самШифровать ли соединение с этим приёмникомsmtp-client-certificateСобственный сертификат, предъявляемый приёмникуsmtp-tls-ca-fileСписок доверенных корневых сертификатов для проверки приёмникаreuse-ssl-sessionХаб задаёт самИспользовать ли повторно параметры прошлого сеанса TLSlog-tlsЗаписывать ли в журнал ход согласования TLSsmtp-tls-allow-sslv3устарелаРазрешить ли SSLv3 — директива больше не действуетsmtp-tls-allow-tlsv1устарелаРазрешить ли TLS 1.0 — устаревший переключательsmtp-tls-allow-tlsv1.1устарелаРазрешить ли TLS 1.1 — устаревший переключательsmtp-tls-allow-tlsv1.2устарелаРазрешить ли TLS 1.2 — устаревший переключательsmtp-tls-allow-tlsv1.3устарелаРазрешить ли TLS 1.3 — устаревший переключательsmtp-tls-ciphersНабор шифров для версий до TLS 1.2 включительноsmtp-tls-max-versionВерхняя граница версии TLS к приёмникуsmtp-tls-v1.3-ciphersuitesНабор шифров для TLS 1.3
Отказы 11
bounce-category-patternsКакой список шаблонов классифицирует отказы этого получателя первымbounce-upon-5xx-greetingХаб задаёт самОтбивать ли сразу всю почту получателя при ответе 5xx на приветствииbounce-upon-no-mxХаб задаёт самОтбивать ли сразу, когда у получателя нет записи MXsmtp-553-means-invalid-mailboxХаб задаёт самСчитать ли голый ответ 553 признаком несуществующего ящикаsmtp-pattern-listХаб задаёт самКакой список образцов применяется к ответам этого получателяbounce-upon-transfer-failureОтбивать ли письмо, если связь оборвалась во время передачи телаbounce-upon-pix-transfer-failureТо же решение, но только когда на стороне приёмника обнаружен Cisco PIXdsn-formatСтандартный формат отчёта или только его текстовая частьnotify-of-delay-everyКак часто узел проверяет, не пора ли сообщить о задержкеreplace-smtp-421-service-responseПодменять ли текст ответа 421 на нейтральныйdeliver-local-dsnустарелаФормировать ли отчёты для почты, принятой от этого домена
Повторы 10
bounce-afterкритичноХаб задаёт самСколько добиваться доставки, прежде чем отбить письмоretry-afterкритичноХаб задаёт самЧерез какой интервал повторять попытку доставкиbackoff-retry-afterХаб задаёт самЧерез какие интервалы повторять после отказаbackoff-to-normal-afterХаб задаёт самЧерез какой интервал очередь сама вернётся в нормальный режимbackoff-to-normal-after-deliveryХаб задаёт самВозвращает ли одна успешная доставка очередь в нормальный режимbackoff-upon-all-sources-disabledУходит ли очередь в backoff, когда отключены все её исходящие адресаproxy-retry-afterЧерез какой интервал повторять, если очередь встала из-за сбоя проксиreenable-source-ip-afterЧерез какой интервал отключённый исходящий адрес вернётся в работуretry-recipients-afterХаб задаёт самСколько ждать, прежде чем повторить попытку конкретному получателюretry-after-dns-errorХаб задаёт самЧерез какой интервал повторять, если очередь встала из-за ошибки DNS
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Настроить темп под провайдера
Важность
критично