from-domain

<rewrite-list>

Правило подмены домена в заголовке From
в конфигурации это строкаfrom-domainвнутри блока <rewrite-list>
Каким домен видит получатель

Строка из двух доменов: образец и замена. Меняется домен в заголовке From — единственном из двух адресов, который получатель видит в почтовой программе.

Слева — образец домена, справа — конкретное имя. from-domain *.port25.com bouncedomain.com превращает foo@mail.port25.com в foo@bouncedomain.com: локальная часть сохраняется, домен подменяется целиком.

Локальную часть эта строка не трогает вовсе — в отличие от mail-from, где переписывается адрес целиком.

Главная ловушка — выравнивание DMARC. Подпись DKIM и запись SPF привязаны к домену; поменяв домен в From, вы поменяли ту сторону, по которой DMARC сверяет выравнивание. Письмо, подписанное ключом example.com и представленное получателю как bouncedomain.com, выравнивание не проходит — и это выглядит как чужая подделка.
Что делает Хаб. Не пишет: заголовок From Хаб не подменяет вовсе. Переписывается только конверт — ради приёма отказов на свой обработчик, — а видимый адрес остаётся адресом отправителя. Это осознанно: подмена From тянет за собой ключ подписи и запись SPF нового домена, то есть переносит на него всю аутентификацию.
Рекомендуемые значения

Слева образец домена, справа конкретное имя. Что придётся сделать вместе с подменой:

Что Зачем
ключ подписи для нового домена иначе DKIM подписан не тем доменом, и DMARC не выровняется
запись SPF нового домена если конверт тоже переписан на него
запись DMARC нового домена политика читается по домену из From

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

Форма правила и пример — из руководства (§ 3.3.18.2). Список того, что надо сделать в DNS вместе с подменой, — наш.
Пример в конфигурации
# получатель увидит другой домен — со всеми последствиями для DMARC
<rewrite-list foo>
    from-domain *.port25.com  bouncedomain.com</rewrite-list>
Пример руководства: foo@mail.port25.com станет foo@bouncedomain.com. Значит, и подпись DKIM, и политика DMARC должны быть у bouncedomain.com, а не у исходного домена.
жёлтым — — имена директив, голубым — блоки. Так же они подсвечены и в тексте карточки.
▲

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

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

Меняют домен в From, оставив прежний ключ подписи

наш опыт

Чем чреватоDMARC сверяет выравнивание домена подписи с доменом из From. Прежний ключ подписывает прежним доменом — выравнивание не проходит, и письмо выглядит подделкой под чужой домен.
Как заметитьВ отчётах DMARC письма проходят DKIM и проваливают выравнивание.
Как правильноВыпустить ключ подписи для нового домена и подписывать им — либо не подменять From вовсе.

Ждут, что правило поменяет и конверт

§ 3.3.18.2

Чем чреватоСтрока трогает только заголовок. Отказы продолжают приходить на прежний обратный адрес, и обработчик их не увидит.
Как заметитьFrom новый, а отказы приходят по-старому.
Как правильноКонверт переписывается строкой mail-from — это отдельное правило в том же списке.
Совместимость
PowerMTA 6.0
описана в руководстве этой версии · платформа: любая
С какой версии директива доступна, вендор указывает не для всех — здесь пометки нет. Имя встречается и в издании руководства 5.0.
Справочные данные
Синтаксис
from-domain <rewrite-rule>
Значения
образец домена и конкретное доменное имя замены
Применение
reload, перезапуск не нужен
Очередь
уже поставленное в очередь не затронет
Где писать
<rewrite-list>
Сколько раз
можно повторять
Всё здесь — из руководства, с разделом.
Наследование
Наследования у правила нет: оно действует внутри своего блока <rewrite-list>. Наследуется ссылка на список — руководство подключает его к <source>; ссылки из <virtual-mta> и <virtual-mta-pool> наследуются по обычному порядку, где собственная строка участника перекрывает пуловую.
Как проверить на узле
Заголовок в учёт не пишется — проверять надо по доставленному письму. Что подпись сошлась с видимым доменом, видно в отчётах DMARC:
dig TXT _dmarc.bouncedomain.com +short
У домена, который видит получатель, должна быть своя запись DMARC — её политику приёмник и применит. Отсутствие записи означает, что письмо проверяется по правилам по умолчанию, а не по вашим.
В Хабе
Цена ошибки
опасно: последствия переживут откат
Сценарии
Подпись и аутентификация писем
Соседние настройки блока <rewrite-list>:mail-fromВсе 2 директив блока →