<domain>критичноХаб задаёт сам
Первый из двух будильников, которые управляют отложенным письмом. Этот задаёт срок: письмо старше указанного интервала отбивается — отправителю уходит отчёт о недоставке (DSN). Второй, retry-after, задаёт частоту: как часто пробовать снова, пока срок не вышел. Порознь ни один из них не имеет смысла.
Отсчёт идёт от подачи письма, а не от последней попытки. Письмо, прождавшее в очереди трое суток из-за упрямого приёмника, уйдёт в отказ по расписанию, даже если прямо сейчас приёмник начал принимать.
Вендорское умолчание — 4d12h, четверо с половиной суток. Для писем с одноразовым кодом это бессмысленно долго: код, доставленный на четвёртые сутки, хуже недоставленного. Для рассылки — лишние сутки диска и очереди за письма, которые почти наверняка уже не уедут.
Считайте пару, а не одно число. Срок, делённый на шаг повторов, даёт количество попыток. Трое суток при получасовом шаге — 144 попытки; те же трое суток при вендорском умолчании 10m — 432. Второе число ничем не лучше первого, только шумнее для приёмника.
Письмам со сроком годности — часы, не сутки. Одноразовый код или ссылка на сброс пароля имеют смысл первые минуты. Такую почту отправляют отдельным VirtualMTA со своим <domain> внутри и коротким сроком.
Слишком короткий срок теряет почту. Приёмник, держащий серую задержку сутки, при сроке в четыре часа отобьёт всю рассылку — а она бы уехала.
# крупный почтовик: трое суток и получасовой шаг <domain gmail.com> retry-after 30m bounce-after 3d</domain> # письма с одноразовым кодом живут час — отдельный поток <virtual-mta otp> <domain *> bounce-after 1h retry-after 2m </domain> </virtual-mta>
что делают не так и чем это кончается3 ошибки▶
§ 3.3.10.10
наш опыт
наш опыт
3 связи
bounce-upon-no-mx<domain>Условие, которое отбивает письмо досрочно, не дожидаясь срока. § 3.3.10.69
notify-of-delay-every<domain>Срок жизни письма и этот интервал вместе задают число уведомлений по одному письму. § 3.3.10.17proxy-retry-after<domain>Общий срок: письмо уйдёт в отказ по нему, сколько бы попыток дотянуться через прокси ни сделал узел. § 3.3.10.47backoff-retry-after<domain>Верхняя граница: письмо уйдёт в отказ, даже если расписание повторов ещё не кончилось. § 3.3.10.48retry-recipients-after<domain>Общий срок: личная пауза его не продлевает, она лишь уменьшает число попыток, которые достанутся конкретному адресу. § 3.3.10.49retry-after-dns-error<domain>Общий срок: письмо уйдёт в отказ по нему, сколько бы попыток разрешить имя ни сделал узел. § 3.3.10.50bounce-upon-5xx-greeting<domain>При выключенной строке ответ считается временным, и границей становится общий срок: попытки идут до него. § 3.3.10.70
pmta show settings gmail.com/vmta1 | grep -i bounce-after pmta list --queue=gmail.com/vmta1 --older-than=3d --maxitems=10
3 статьи
◇Четыре типа значений, на которых написан весь конфигЛогическое, образец домена, регулярное выражение и промежуток времени — определены один раз в § 3.2 и дальше используются всеми директивами.◇Два обработчика входящих отчётов и что с ними делатьОтказы письмом и жалобы разбираются двумя одинаково устроенными блоками; у каждого свой список адресов и своя пара решений о судьбе письма.◇Как складывается политика для приёмникаНастройки собираются от самого общего образца к самому точному; порядок блоков в файле не значит ничего.