Арендованный адрес, настроенный до конца

Один адрес через прокси — и всё, что к нему прилагается

Задача. Единица работы гейта: арендованный адрес с открытым портом 25, который приёмники видят как адрес отправки со своей репутацией.

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

  • server — куда подключается PowerMTA: к гейту, а не к точке провайдера;
  • client — арендованный адрес, который увидит приёмник, и имя для приветствия;
  • retry-attempts — сколько раз пробовать этот прокси, прежде чем перейти к следующему в списке;
  • use-proxy — перечень блоков прокси для адреса отправки, по порядку запасных;
  • enable-source-ip-limits-on-sending-ip — пределы по адресу клиента, а не по локальному.

Области у составляющих разные. Блок <proxy> — уровня узла и обязательно именованный, use-proxy — у адреса отправки или для всего узла, переключатель пределов — на получателя, в <domain *>.

Как они взаимодействуют. Руководство описывает две формы прокси, и они несовместимы: блочная подходит, когда немногие гейты обслуживают много адресов, строчная — smtp-proxy-source-host — когда на каждый адрес своя строка. Следующий прокси в use-proxy берётся, только когда к предыдущему не удалось подключиться, и если у него другой клиент, письма молча начнут уходить с другого адреса.

Главная ловушка — запасной прокси с другим арендованным адресом. Переход по use-proxy случается молча, и письма уходят с адреса, у которого другая репутация и другая стадия прогрева; запасным должен быть второй гейт к тому же адресу.
Что делает Хаб. Решает ту же задачу другой формой. Гейт Хаба собран не на блоках <proxy> и use-proxy, а на строчной: у каждого прокси свой адрес отправки с smtp-proxy-source-host на гейт узла, proxy-protocol 2 и proxy-include-tlv domain. Из составляющих схемы не стоит ни одной: пределов source-ip-max-* нет, и переключатель enable-source-ip-limits-on-sending-ip не нужен (убран 15.09.2026); запасного прокси у адреса нет, и retry-attempts не задаётся.
Рекомендуемые значения

Строки блочной формы:

Строка Где Умолчание Что задать
server <proxy> обязательна адрес и порт гейта
client <proxy> обязательна арендованный адрес и имя
retry-attempts <proxy> 1, не больше 10 больше одного
use-proxy адрес отправки нет основной гейт, затем запасной
enable-source-ip-limits-on-sending-ip <domain *> false true, затем перезапуск
Строки блока, умолчание и потолок попыток, порядок запасных и несовместимость двух форм — из руководства (§ 3.3.22–3.3.22.5, § 3.3.1.47, § 3.3.10.86). Выбор формы и совет про запасной — наша гипотеза.
Пример в конфигурации
<proxy gw1>
    server 10.1.2.3:5000
    client 198.51.100.25 mail25.example.com
    retry-attempts 3
</proxy>
<virtual-mta rented25>
    use-proxy gw1, gw2</virtual-mta>
gw2 — второй блок того же вида с другим гейтом и тем же клиентом; адреса — для примера.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Как проверить на узле
Проверить, что конфигурация прокси разбирается:
pmta test config
grep -n -A4 '<proxy' /etc/pmta/config
Какой прокси действительно вёз письмо, покажет поле dlvProxyName в учёте, если его назвать в record-fields.