client

<proxy>критично

Внешний адрес, с которого прокси выходит к приёмнику
в конфигурации это строкаclientвнутри блока <proxy>
Адрес, который увидит приёмник

Строка сообщает прокси, с какого адреса выходить к приёмнику. Это и есть внешний адрес отправки — тот, что увидит Gmail, и тот, чью репутацию вы греете.

Порт необязателен, по умолчанию ноль. Имя во второй части — тоже: не задано, берётся имя адреса отправки, из которого шло соединение.

🔴 Узел проверяет только форму записи. Руководство говорит это прямо в комментарии примера: убедиться, что такой адрес вообще настроен на прокси, узел не может. Опечатка в адресе — это письма, уходящие не с того адреса, при полностью исправной с виду конфигурации.

В учёте прокси не виден. Поле адреса отправки покажет именно этот адрес, а поле назначения — адрес приёмника; факт прохода через прокси прозрачен. Увидеть его можно только полями dlvProxy*, добавленными в набор.

Главная ловушка — расхождение между этой строкой и настройкой прокси. Узел скажет прокси «выходи с 16.70.55.233», а если такого адреса на прокси нет, поведение зависит от прокси: он может взять свой основной адрес — и весь прогрев пойдёт не на тот адрес. Проверять надо со стороны приёмника.
Что делает Хаб. Не пишет: блоков <proxy> в конфигурации нет. Внешний адрес прокси Хаб передаёт ярлыком — третьим значением строки smtp-proxy-source-host, и по нему гейт выбирает, через какой прокси выйти. Соответствие ярлыка и прокси держит сам Хаб: он пишет и /etc/pmta/proxy.txt, и таблицу гейта /etc/hubgate/upstreams.tsv.
Рекомендуемые значения

Три части, из которых обязательна одна:

Часть Обязательна Что означает
адрес да с него прокси выходит наружу
порт нет по умолчанию ноль
имя нет по умолчанию имя адреса отправки

Имя стоит задавать явно, если у прокси свои обратные записи DNS: расхождение имени в приветствии и обратной записи приёмники замечают.

Необязательность порта и имени, умолчание имени и предупреждение о том, что узел проверяет только форму записи, — из руководства (§ 3.3.22.2, § 11.3). Прозрачность прокси в учёте — из § 11.3.
Пример в конфигурации
# адрес внешний: его увидит приёмник и по нему считается репутация
<proxy mta-proxy-a>
    server 10.1.2.3:5000
    client 16.70.55.233:0  client.hostname.com</proxy>
Имя во второй части задано явно — так надёжнее: иначе возьмётся имя адреса отправки, а обратная запись у внешнего адреса может быть другой.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Опечатываются в адресе и не замечают

§ 11.3

Чем чреватоУзел проверяет только форму записи и не знает, настроен ли такой адрес на прокси. Письма уйдут с того адреса, который выберет прокси, а прогрев и репутация будут считаться не по тому.
Как заметитьВ заголовках доставленных писем адрес не тот, что в конфигурации.
Как правильноСверять список адресов на прокси со всеми строками client; проверять письмом на контрольный ящик.

Ищут прокси в учёте

§ 11.3

Чем чреватоВ обычных полях его нет: адресом отправки записан выходной адрес прокси, адресом назначения — приёмник. Проход через прокси прозрачен.
Как заметитьВ учёте всё выглядит как прямая доставка.
Как правильноДобавить поля dlvProxy* в record-fields для нужных видов записей.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
client <address>
Значения
адрес, необязательно двоеточие и порт, необязательно имя
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<proxy>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Наследования нет: строка живёт внутри своего <proxy>. Каждый блок описывает один выходной адрес; чтобы адресов было несколько, нужны несколько блоков.
Как проверить на узле
Проверять надо со стороны приёмника — узел этого не покажет:
dig +short -x 16.70.55.233
Обратная запись должна совпадать с именем во второй части строки. Настоящая проверка — письмо на контрольный ящик: в его заголовках будет виден адрес, с которого оно на самом деле пришло.
В Хабе
Цена ошибки
с перерывом: применение прерывает работу узла
Сценарии
Отправка через прокси
Важность
критично