invalid-virtual-mta-fallback

Global

Запасной поток для писем, назвавших несуществующий
в конфигурации это строкаinvalid-virtual-mta-fallbackвнутри блока Global
Не отвергать письмо из-за неверного имени потока

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

Условий два, и оба обязательны. Здесь — имя запасного потока; в источнике — reject-invalid-virtual-mta со значением false. Умолчание у второго true, поэтому одна эта строка не меняет ничего.

Работает только при подаче. Руководство оговаривает это отдельно: механизм не распространяется на переброс очереди — ни на reroute-to-virtual-mta, ни на backoff-reroute-to-virtual-mta. Переброс на несуществующий поток запасным вариантом не спасается.

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

Что ставить. Значение — имя существующего потока; смысл имеет только вместе с выключенным отказом. Выбирать запасной поток стоит по одному правилу: он не должен быть прогреваемым. Письма, попавшие сюда, — это письма с неизвестным адресатом назначения, и класть их на адрес, который набирает репутацию, значит рисковать чужой историей.

Разумный выбор — общий пул подачи или отдельный поток на прогретом адресе, по которому потом легко найти все такие письма в учёте.

Требование пары и неприменимость к перебросу — из руководства. Совет не ставить запасным прогреваемый адрес — наш.
Пример в конфигурации
# обе строки нужны вместе: имя запасного потока и снятый отказ
invalid-virtual-mta-fallback mta-hub-pool
<source 10.0.0.0/24>
    process-x-virtual-mta yes
    reject-invalid-virtual-mta false
</source>
Строка запасного потока пишется в корне файла, без обрамляющего блока. Письмо из указанной подсети, назвавшее поток, которого нет, уйдёт пулом. На переброс очереди это не распространяется.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Пишут запасной поток без парной строки

§ 3.3.1.55.2

Чем чреватоОтказ в источнике по умолчанию включён и срабатывает раньше. Директива стоит в конфигурации и не влияет ни на что.
Как заметитьОтказы подачи продолжаются, а в конфигурации «всё настроено».
Как правильноДописать reject-invalid-virtual-mta false в источник подачи. Проверку на эту пару стоит держать в генераторе конфигурации.

Рассчитывают на запасной поток при перебросе очереди

§ 3.3.1.55.2

Чем чреватоМеханизм работает только при подаче. Переброс на несуществующий поток — reroute-to-virtual-mta или его щадящая форма — запасным вариантом не спасается.
Как заметитьОчередь, которую должно было увести перебросом, ведёт себя не так, как ожидалось, и запасной поток в этом не участвует.
Как правильноПроверять имена потоков переброса при сборке конфигурации: здесь запасного варианта не существует, только правильное имя.

Ставят запасным поток, который прогревается

наш опыт

Чем чреватоСюда попадают письма с неизвестным назначением — часто ошибочные или устаревшие. Отправлять их прогреваемым адресом значит подмешивать в аккуратный план случайный трафик.
Как заметитьСуточные объёмы прогреваемого адреса выше плановых, и лишнее не находит объяснения в расписании.
Как правильноЗапасным делать прогретый адрес или общий пул подачи — и держать его отдельным, чтобы такие письма было видно в учёте по полю vmta.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
invalid-virtual-mta-fallback VMTA-NAME
Значения
имя потока, объявленного в конфигурации
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
Global
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива уровня узла и наследования не имеет: она одна на всю установку. Наследуется парная к ней reject-invalid-virtual-mta — она записана в <source> и сливается по правилу источников, где более узкий блок перекрывает более широкий. Значит, включить запасной поток можно точечно, для одной подсети подачи.
Как проверить на узле
Проверяются обе строки разом, они лежат в одном файле:
grep -n "invalid-virtual-mta" /etc/pmta/config
В выводе ожидаются две строки. Дальше стоит убедиться, что названный поток действительно объявлен: pmta show vmtas покажет список, и имя должно совпадать буквально.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Ротация адресов отправки · Подключить платформу отправки