notify-of-delay-every

<domain>

Как часто узел проверяет, не пора ли сообщить о задержке
в конфигурации это строкаnotify-of-delay-every 4hвнутри блока <domain>
Частоту решает узел, а не тот, кто запросил

Умолчание — 4h. Строка задаёт, как часто узел проверяет, не пора ли отправить уведомление о задержке — то самое, которое подающая сторона запросила параметром NOTIFY=DELAY в команде RCPT.

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

Значение never отключает такие уведомления для этого приёмника целиком.

Сколько всего уведомлений придёт по одному письму, считается просто: срок жизни письма (bounce-after), делённый на этот интервал.

Главная ловушка — уведомление приходит не один раз. Письмо к проблемному приёмнику живёт до bounce-after, и при четырёхчасовом интервале за трое суток набегает восемнадцать уведомлений по одному письму. На рассылке, застрявшей целиком, это лавина писем вашему же отправителю.

Отсюда практическое правило: интервал стоит соотносить со сроком жизни письма, а не выбирать «по ощущению».

Что делает Хаб. Не пишет — остаётся вендорское 4h, и проявиться оно не может: suppress-local-dsn true, действующая во всех источниках подачи, выключает формирование отчётов вовсе.

Задержки Хаб видит по записям временных неудач в телеметрии, и уведомления письмами ему не нужны.

Рекомендуемые значения

Что ставить. Интервал считают от срока жизни письма:

Значение Когда
4h (умолчание) срок жизни сутки-двое: уведомлений выйдет порядка десятка
сутки и больше срок жизни трое суток и больше, а уведомления нужны как сигнал, а не как хроника
never исходы разбираются по учёту, уведомления письмами не нужны

Третье — обычный выбор платформы рассылки. Первые два имеют смысл там, где отчёты читает человек.

Умолчание 4h, значение never и привязка к параметру NOTIFY=DELAY команды RCPT — из руководства, § 3.3.10.17. Расчёт числа уведомлений и разбивка случаев наши.
Пример в конфигурации
# срок жизни письма трое суток — четырёхчасовой интервал даст восемнадцать писем
<domain *>
    notify-of-delay-every 12h    bounce-after 3d
</domain>
Две строки читаются вместе: число уведомлений по одному письму — это срок жизни, делённый на интервал. Здесь получится шесть вместо восемнадцати.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Оставляют умолчание при долгом сроке жизни письма

наш опыт

Чем чреватоПо одному застрявшему письму приходит уведомление каждые четыре часа до самого отказа. На застрявшей рассылке это лавина писем вашему же отправителю.
Как заметитьПочта отправителя завалена одинаковыми уведомлениями о задержке.
Как правильноСоотнести интервал со сроком жизни письма либо отключить уведомления значением never.

Ждут, что частоту задаст подающая сторона

§ 3.3.10.17

Чем чреватоОна запрашивает уведомление, но не его расписание. Ожидание «сообщат один раз» не сбывается, и виноватой выглядит подающая платформа.
Как заметитьУведомлений приходит больше, чем ожидалось от запроса.
Как правильноНастраивать интервал на узле — там он и решается.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
notify-of-delay-every <time-interval>
Значения
промежуток времени или never
Умолчание
4h § 3.3.10.17
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <domain> и подчиняется слиянию блоков получателей: письмо попадает под все подходящие блоки, и более узкий перекрывает более широкий. Значение из блока * достанется всем приёмникам, которые сами не назвали своего.
Как проверить на узле
Строку читают вместе со сроком жизни письма и с подавлением отчётов:
grep -n 'notify-of-delay-every\|bounce-after\|suppress-local-dsn' /etc/pmta/config /etc/pmta/virtualhost.txt
Если подавление отчётов включено, строка не проявится никак. Если нет — поделите срок жизни на интервал: столько уведомлений придёт по одному застрявшему письму.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Приём входящей почты