Снять один адрес у одного приёмника

Точечный вывод вместо остановки всего

Задача. Приёмник отказывает или откладывает письма с одного адреса, принимая остальные, — и этот адрес надо перестать использовать именно для него: временно, не трогая его отправку в другие места и не полагаясь на то, что кто-то вспомнит вернуть.

Из чего складывается:

  • show domains — подтверждает догадку, показывая получателя по одному адресу отправки;
  • disable source — снимает адрес для выбранной очереди, со сроком –reenable-after;
  • show disabled sources — что снято сейчас, в том числе правилами почтовиков;
  • enable source — вернуть раньше срока или если срок забыли.

Области у составляющих разные. Снятие действует на пару «адрес и очередь», и радиус задаёт селектор очереди, как у любой команды. Звёздочка превращает точечное снятие в снятие для всех получателей.

Как они взаимодействуют. Доказательство, действие, срок, сверка — четыре части отличают управление доставляемостью от кучи забытых запретов. Больше всего работы делает срок: снятый со сроком адрес возвращается сам, и неверный диагноз стоит одного интервала. Сверка ловит случаи, когда срок не задали.

Главная ловушка — снять адрес без срока. Без –reenable-after адрес остаётся снятым навсегда: причина давно прошла, а мощность отправки так и не вернулась, и заметить это можно только сверкой.
Что делает Хаб. Применяет — в разделе «Управление»: операция «Вывести адрес из работы» выполняет pmta disable source для пары «адрес и очередь», по желанию со сроком –reenable-after, после которого MTA вернёт адрес сам; «Вернуть адрес» снимает запрет раньше и берёт адрес из журнала операций. До и после операции Хаб перечитывает список снятых адресов и показывает разницу — это и есть сверка из схемы.

Автоматическая политика «IP в чёрном списке» устроена иначе: адрес в списке мешает у всех приёмников сразу, а disable source берёт только одну очередь — на звёздочку MTA отвечает «Invalid queue name: may not be wildcard». Поэтому политика ставит на паузу все адреса отправки, которые шлют с этого адреса, на срок из правила (по умолчанию четыре часа), и паузу снимает Хаб.

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

Четыре части:

Часть Команда Что даёт
доказательство pmta show domains –vmta=vmta1 –errors gmail.com ошибки получателя по одному адресу отправки
действие pmta disable source –reenable-after=4h 198.51.100.25 gmail.com/vmta1 адрес снят только для этой очереди и вернётся сам
сверка pmta show disabled sources gmail.com/vmta1 что снято сейчас
исправление pmta enable source 198.51.100.25 gmail.com/vmta1 возврат раньше срока
Команды, срок возврата и отбор по адресу отправки — из руководства (§ 6.3.13, § 6.3.35–6.3.37). Сама схема — наша гипотеза.
Пример в конфигурации
# снять адрес только для gmail.com и вернуть через четыре часа
pmta disable source --reenable-after=4h 198.51.100.25 gmail.com/vmta1pmta show disabled sources gmail.com/vmta1
Адрес и очередь — для примера. Звёздочку команда не принимает: снять адрес у всех приёмников сразу можно только паузой его адреса отправки.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Сверить снятые адреса с тем, что снимали:
pmta show disabled sources
Адрес, которого никто не снимал в последние часы, — след бессрочного снятия или правила почтовика; такие строки и ищет сверка.