disable source

критично

Вывести один адрес из работы для одной очереди
Как убрать один адрес, не трогая остальные

Выводит указанный адрес отправки из работы для указанной очереди. Всё остальное продолжает идти как шло: другие адреса той же очереди, тот же адрес в других очередях, письма уже в пути. Это точечный инструмент — им гасят один плохой адрес у одного приёмника, а не отправку целиком.

Цель — одна очередь. Аргумент domain[/vmta] называет получателя и адрес отправки: yahoo.com/vmta1 — ровно эта пара. Без адреса отправки MTA берёт очередь yahoo.com/{default}, а звёздочку не принимает вовсе — отвечает «Invalid queue name: may not be wildcard». Сам адрес должен принадлежать названному адресу отправки, иначе ответ — «IP address … is not configured for virtual MTA». Отключение живёт в памяти MTA и переживает перезагрузку конфигурации, но не перезапуск службы.

Тот же результат даёт правило почтовика. Действие disable-source-ip в <smtp-pattern-list> отключает адрес автоматически, по тексту ответа приёмника. Команда — ручной вход в тот же механизм, и смотреть результат обоих надо одной командой: show disabled sources.

Главная ловушка. Без –reenable-after адрес отключается навсегда. Возврат по умолчанию задаёт директива reenable-source-ip-after, а её умолчание — never. То есть команда без ключа означает «убрать и забыть», и адрес будет молча простаивать, пока кто-нибудь не вспомнит. Про такое вспоминают, когда начинают разбираться, почему парк отправляет меньше, чем должен.
Что делает Хаб. Вызывает — операция «Вывести адрес из работы» в разделе «Управление». Адрес выбирают парой «адрес · домен отправки»: она же задаёт адрес отправки очереди, а почтовика называют отдельно. Звёздочку и цель без адреса отправки Хаб отбивает сам, до узла: MTA их всё равно не примет. Срок возврата — движковый –reenable-after, ввод проверяется по образцу ^\d{1,4}[mhd]$; своего срока у операции нет, и адрес вернёт MTA, даже если Хаб в этот момент недоступен.

Политика «IP в чёрном списке» этой командой не пользуется: адрес в списке мешает у всех приёмников сразу, а disable source берёт одну очередь. Поэтому политика ставит на паузу все адреса отправки, которые шлют с этого адреса. Операция записана обратимой: «Вернуть адрес» берёт адрес из журнала операций.

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

Всегда указывайте –reenable-after. Даже когда кажется, что вернёте руками через час. Час превращается в неделю чаще, чем хотелось бы.

Интервал — минуты, часы, дни: 30m, 4h, 2d. Разумный порядок величины для реакции на блокировку приёмника — от часа до суток: меньше часа приёмник обычно не успевает «остыть», больше суток — это уже вывод адреса из работы, и его стоит делать осознанно, а не таймером.

Цель — всегда пара. yahoo.com/vmta1: без адреса отправки команда возьмёт очередь {default}, а со звёздочкой не выполнится. Убрать адрес у всех приёмников сразу она не умеет — для этого ставят на паузу очереди его адреса отправки.

Порядок величины интервала — наш. Отказы на звёздочку и на чужой адрес отправки проверены на узле 15.09.2026. Из руководства здесь синтаксис команды, ключ автовозврата и то, что умолчание возврата задаёт директива.
Пример в конфигурации
# отключить адрес у одного приёмника на час
$ pmta disable source --reenable-after=1h 1.2.3.4 yahoo.com/vmta1
# у всех приёмников сразу команда не умеет — на звёздочку ответ
# «Invalid queue name: may not be wildcard»; ставят на паузу адрес отправки
$ pmta pause queue '*/vmta1'
Первая строка — пример руководства. Вторая — что делать, когда адрес надо убрать у всех приёмников: поставить на паузу очереди его адреса отправки. Так поступает политика Хаба «IP в чёрном списке».
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Вызывают без ключа автовозврата

§ 6.3.35

Чем чреватоВозврат берётся из директивы reenable-source-ip-after, а её умолчание — never. Адрес остаётся отключённым до тех пор, пока кто-нибудь не выполнит парную команду вручную.
Как заметитьПарк отправляет меньше расчётного, в списке отключённых висят адреса недельной давности.
Как правильноВсегда указывать –reenable-after. Если действительно нужно убрать адрес насовсем — делать это осознанно и записывать где-то, кроме памяти MTA.

Пишут цель со звёздочкой или без адреса отправки

проверено на узле

Чем чреватоНа звёздочку MTA отвечает «Invalid queue name: may not be wildcard», а без адреса отправки берёт очередь {default}, у которой этого адреса нет. Адрес не выводится ни там, ни там, а обвязка, не читающая ответ, считает дело сделанным.
Как заметитьshow disabled sources пуст, а в ответе команды — ошибка про имя очереди или про адрес, не настроенный для {default}.
Как правильноНазывать очередь парой домен/адрес-отправки, где адрес действительно принадлежит этому адресу отправки. Убрать адрес у всех приёмников сразу — паузой его очередей: pause queue */vmta1.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверка у команды одна — посмотреть, что список отключённых изменился:
pmta show disabled sources yahoo.com/vmta1
Адрес должен появиться в списке сразу после вызова. Если его там нет — проверьте, что цель написана так же: отключение привязано к паре «приёмник + адрес отправки», и yahoo.com с yahoo.com/vmta1 это разные цели.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Разобраться с доставляемостью · Ротация адресов отправки · Отправка через прокси
Важность
критично