disabled-source-ip-notify

<domain>

Кого уведомить об отключении или возврате исходящего адреса для этого получателя
в конфигурации это строкаdisabled-source-ip-notifyвнутри блока <domain>
Как узнать, что адрес вышел из работы

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

Зачем это нужно. Отключение адреса — самое тихое из событий MTA: конфигурация не меняется, ошибок нет, письма продолжают идти с других адресов. Обнаруживается оно обычно по падению объёма, через сутки-другие. Уведомление превращает «когда-нибудь заметим» в «узнаем сразу».

Причина отключения роли не играет. Письмо придёт и когда адрес убрал человек командой disable source, и когда его убрало правило почтовика по ответу приёмника.

Пустая строка стирает унаследованное. “” в частном блоке отменяет значение, заданное в общем, — так адресату можно не получать уведомления по конкретному приёмнику.

Главная ловушка. Уведомление уходит той же почтой — через тот же узел, который в этот момент теряет адреса отправки. Если отключились все адреса очереди, письмо об этом может не уйти вовсе. Поэтому получатель уведомлений должен быть на домене, который узел доставляет надёжно и по возможности не через тот же адрес отправки.
Что делает Хаб. Не пишет: свои отключения он выполняет сам и знает о них без писем — операция записывается в журнал управления узлом, с обратной парой и сроком автовозврата.

Строка нужна там, где отключения может устроить не Хаб: собственные правила почтовика на узле или человек с консольным доступом. Хаб такие отключения увидит только при следующей проверке через show disabled sources, а письмо придёт сразу.

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

Ставьте в общем блоке приёмников. Отключение адреса — событие про узел, а не про конкретный почтовик; задавать его отдельно для каждого приёмника незачем.

Адресат — не тот же домен, с которого шлёте. Уведомление уходит через тот же узел; если оно пойдёт с проблемного адреса, оно и не дойдёт. Разумно указать ящик на стороннем домене.

Несколько адресов — через запятую, без пробелов после неё, как в примере руководства.

Требования к адресату — наша рекомендация. Из руководства здесь формат списка, стирание пустой строкой и то, что письмо приходит на оба события.
Пример в конфигурации
# общий блок: событие про узел, а не про конкретного почтовика
<domain *>
    disabled-source-ip-notify ops@example.net,dev@example.net    reenable-source-ip-after 4h
</domain>
Домен получателя нарочно чужой: письмо уходит через тот же узел, который теряет адреса отправки.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Указывают ящик на том же домене, с которого шлют

наш опыт

Чем чреватоУведомление уходит через тот же узел, у которого в этот момент проблемы с адресами отправки. В худшем случае — когда отключились все адреса очереди — письмо не уйдёт вовсе, и о событии никто не узнает именно тогда, когда это важнее всего.
Как заметитьАдреса в списке отключённых есть, писем не приходило.
Как правильноУказывать ящик на стороннем домене, доставляемом не через этот узел.

Не задают вовсе, полагаясь на мониторинг

наш опыт

Чем чреватоОтключение не меняет конфигурацию и не пишет ошибок. Обычный мониторинг узла его не видит: процесс жив, очереди идут, объём снижается постепенно. Механизм остаётся незамеченным неделями.
Как заметитьРасчётный объём не выбирается, причина не находится ни в конфигурации, ни в журнале.
Как правильноЗадать уведомление и включить log-disabled-ips — вместе они закрывают и «узнать сразу», и «разобрать потом».
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
disabled-source-ip-notify <email-list>
Значения
адреса через запятую; пустая строка стирает унаследованное значение
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<domain>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Значение сливается по блокам <domain> от общего к частному: побеждает наиболее подходящий блок, а не последний по файлу. Пустая строка “” стирает унаследованное — иначе отменить общее значение в частном блоке было бы нечем. Подхватывается по pmta reload, перезапуск не нужен.
Как проверить на узле
Строка проверяется чтением конфигурации. Проверить её по-настоящему можно только событием — отключив адрес и вернув его обратно:
grep -rn disabled-source-ip-notify /etc/pmta/
pmta disable source --reenable-after=1m 1.2.3.4 example.com/vmta1
Вторая строка — намеренно короткое отключение: придут два письма, об отключении и о возврате через минуту. Проверять так стоит на тестовом приёмнике, а не на боевом. Хаб эту директиву не пишет и писем не читает.
В Хабе
Цена ошибки
безопасно: неверное значение ничего не ломает
Сценарии
Ротация адресов отправки · Отправка через прокси