критично
Каждый из шести способов встречается в руководстве отдельно и выглядит равноправной альтернативой. Глава 9 собирает их в одном месте и говорит главное: они упорядочены. Список — не набор вариантов, а правило разрешения.
Лестница сверху вниз. Переменная слияния *vmta в самом письме; выбор при подаче — вызов API или заголовок X-Virtual-MTA; правило по образцу из <pattern-list>; поток, привязанный к слушателю; умолчание источника default-virtual-mta. Что стоит выше — побеждает; что ниже — применяется только тогда, когда наверху никто не высказался.
Отсюда следует неочевидное. Платформа, которая ставит заголовок, не может быть перекрыта настройкой узла: конфигурация стоит ниже заголовка. И наоборот — умолчание, записанное в источнике, выглядит как назначение, а на деле это запасной вариант, который перестаёт работать в ту минуту, когда отправитель начинает слать заголовок.
Пул выбирается ровно теми же способами. Разница только в имени: вместо имени потока пишется имя пула. Поэтому имена потоков и пулов живут в одном пространстве, и совпадение MTA не разрешает, а отвергает.
Из этого набора важно помнить одно: заголовок стоит выше и списка выбора, и умолчания. Платформа, которая шлёт X-Virtual-MTA, обходит все наши правила маршрутизации — и это разрешено намеренно, чтобы прогрев мог называть адрес письмом.
Собственных значений у лестницы нет — их задают директивы на каждой ступени. Что стоит выбрать, зависит от того, чем управляет отправитель:
| Отправитель | Чем выбирать | Почему |
|---|---|---|
| наш, шлёт заголовки | X-Virtual-MTA | самый прямой и точный: поток на письмо |
| чужой, заголовки не умеет | mail-from по обратному адресу | ничего не требует от отправителя |
| чужой, адрес подачи свой | by-smtp-source-ip | не растёт с числом адресов |
| всё остальное | default-virtual-mta | запасной вариант, а не назначение |
Смешивать способы можно и часто нужно; важно лишь понимать, что при совпадении победит верхний.
# четыре ступени в одной конфигурации — сверху вниз по старшинству <pattern-list mta-hub-senders> mail-from /@shop\.example\.com$/ virtual-mta=shop-example-com mail-from /@news\.example\.com$/ virtual-mta=news-example-com </pattern-list> <source {pmta-auth}> process-x-virtual-mta yes # 2-я ступень: заголовок разрешён pattern-list mta-hub-senders # 3-я ступень: правило по образцу default-virtual-mta mta-hub-pool # 5-я ступень: запасной вариант</source>
что делают не так и чем это кончается3 ошибки▶
§ 9.4
§ 9.4
§ 9.3
3 связи
Три правила пула, названные руководством прямоПул выбирается теми же шестью способами, что и адрес отправки, — оттого имена у них общие. § 9.3Как включить подпись DKIM с нуляКлюч внутри потока подписывает только ту почту, которая в этот поток действительно попала. § 10.3.2process-x-sp-subaccount-id<signals>Тот же порядок старшинства, что и у выбора потока: заголовок письма сильнее конфигурации. inferenceprocess-x-sp-subaccount-id<inline-seeding>Тот же приём: заголовок письма перебивает то, что задано конфигурацией. inferenceЗанятые имена переменных слиянияСмежный механизм: они работают вместе. § 11.19.4.2Замена получателя одним или несколькими другимиРаскрытие происходит после выбора потока: поток выбирается по исходному получателю, а уезжает письмо уже другим. § 13.9
pmtaacctfind --output csv[vmta,orig,rcpt] /var/log/pmta/acct-*.csv | head
3 статьи
◇Занятые имена переменных слиянияЧасть имён переменных слияния занята MTA: свои переменные так называть нельзя.◇Прогрев, встроенный в MTAПрогретый адрес отдаёт первые N писем дня каждому получателю своему холодному напарнику; тот отправляет их сам и набирает историю.◇Адрес отправки — из чего он складываетсяИменованный набор всего, что является свойством адреса: с какого IP уходит письмо, чем узел представляется, чем подписывает и как быстро шлёт.