Linux

Postfix: как менять адрес отправителя и заголовки письма без поломки DKIM

В Postfix можно переписывать адреса и заголовки, но сначала важно понять, что именно нужно изменить. Envelope sender, заголовок From: и тема Subject: — разные части сообщения, и для них применяются разные механизмы.

Envelope sender и From — не одно и то же

Envelope sender участвует в SMTP-доставке и возврате ошибок. Заголовок From: видит пользователь в почтовом клиенте. Попытка исправить один параметр инструментом для другого часто даёт неожиданный результат.

sender_canonical_maps

Подходит для систематического переписывания адресов отправителя по таблице соответствий. Это удобнее, чем десятки регулярных выражений, когда нужно привести локальные адреса к публичному домену.

smtp_generic_maps

Generic maps полезны, когда адрес нужно переписать именно при отправке наружу через SMTP-клиент Postfix. Это позволяет не менять внутреннее представление адресов раньше времени.

header_checks для Subject и других заголовков

header_checks умеет сопоставлять заголовки и выполнять действия над сообщением. Используйте этот механизм осторожно: изменение темы, From или других подписанных заголовков после DKIM-подписи сделает подпись недействительной.

Сначала определите порядок обработки

Если письмо подписывает отдельный DKIM-milter, переписывание заголовков должно происходить до формирования подписи. После изменения конфигурации отправьте тестовое письмо во внешний ящик и проверьте исходные заголовки, SPF, DKIM и DMARC.

Не маскируйте проблему маршрутизации

Если адрес приходится переписывать потому, что приложение генерирует неверный From, часто правильнее исправить приложение. Postfix rewriting полезен как централизованная политика, но не должен превращаться в слой случайных замен, который никто не понимает.

Итог: выбирайте механизм по тому, что меняется и на каком этапе: envelope sender, адрес в заголовке или текст Subject. После любых изменений проверяйте доставку и DKIM/DMARC на реальном внешнем получателе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *