hide-message-source

<source>

Скрывать ли в отметке о приёме имя и адрес подающего
в конфигурации это строкаhide-message-source falseвнутри блока <source>
Мягкая форма скрытия источника

Умолчание — false. Руководство формулирует осторожно: MTA пытается скрыть источник письма, и на сегодня это означает ровно одно — имя и адрес того сервера, от которого письмо получено, не попадут в добавляемый заголовок Received.

Смысл — безопасность: не показывать получателю устройство внутренней сети, из которой письмо подано.

Строка правит содержимое отметки, а не решает, быть ли ей. Отметку целиком выключает add-received-header; с ней в false эта директива не делает ничего, потому что править нечего.

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

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

Что делает Хаб. Не пишет — и не нужно: add-received-header у него стоит в false во всех источниках, отметка не добавляется вовсе, и править в ней нечего.

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

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

Что ставить. Осмысленных сочетаний два, и оба зависят от соседней строки:

Сочетание Что получится
отметка есть, скрытие true цепочка цела, адрес подающего не виден — промежуточный вариант
отметка есть, скрытие false (умолчание) полная цепочка, видно всё
отметки нет эта строка не делает ничего, каким бы ни было значение

Третья строка таблицы — наш сегодняшний случай.

Умолчание false и точная формулировка «на сегодня это означает» — из руководства, § 3.3.7.36. Разбор сочетаний с соседней строкой наш.
Пример в конфигурации
# промежуточный вариант: цепочка цела, адрес подающего скрыт
<source 0/0>
    add-received-header true
    hide-message-source true</source>
Первая строка здесь обязательна: без отметки скрывать нечего. У Хаба она стоит в false, поэтому вторая строка не пишется вовсе.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Ставят скрытие при выключенной отметке

§ 3.3.7.36

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

Считают строку общим выключателем приватности

§ 3.3.7.36

Чем чреватоОна закрывает один след — имя и адрес подающего в одном заголовке. Служебные заголовки платформы, идентификаторы и всё прочее остаются на месте и продолжают рассказывать о вашей инфраструктуре.
Как заметитьСкрытие включено, а в письмах по-прежнему видны внутренние имена и служебные заголовки.
Как правильноВычищать остальное отдельно — списком в remove-header.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
hide-message-source <boolean>
Значения
yes | no | true | false
Умолчание
false § 3.3.7.36
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<source>
Сколько раз
один раз в блоке
Всё здесь — из руководства, с разделом.
Наследование
Директива живёт в <source> и подчиняется слиянию источников: соединение попадает под все адресные блоки, которые его накрывают, и узкий перекрывает широкий. Действует она только там, где в том же слитом наборе отметка о приёме включена.
Как проверить на узле
Настройку видно в конфигурации, результат — в заголовках письма:
grep -n 'hide-message-source\|add-received-header' /etc/pmta/config /etc/pmta/virtualhost.txt
Проверять надо письмом в контрольном ящике: в отметке вашего узла не должно быть имени и адреса подающей машины. Если отметки узла нет вовсе — соседняя строка выключила её целиком, и эта не при чём.
В Хабе
Цена ошибки
обратимо: вредит, пока стоит
Сценарии
Безопасность узла