Вопрос или проблема
Я использую Postfix в качестве шлюза для моего домена и мне нужно, чтобы он изменял или перезаписывал адрес Envelope From, чтобы он соответствовал заголовку From. Например, заголовок From: “[email protected]“, а Envelope From – “[email protected]“. Я хочу, чтобы Postfix сделал Envelope From “[email protected]” перед его ретрансляцией. Я заглянул в документ по переписыванию адресов Postfix, но не смог найти ничего, что подходило бы для моего случая.
(Если вам интересно, почему я должен это делать: Gmail использует один и тот же Envelope From при отправке с определённого аккаунта, независимо от того, какой адрес From: вы решите использовать. Я предпочёл бы не раскрывать аккаунт, на который отправляется электронная почта. Кроме того, это мешает согласованию домена SPF/DMARC – смотрите 4.2.2 спецификации проекта DMARC.)
Я думаю, вам нужно “sender_canonical_maps” (и “recipient_canonical_maps”, если вы хотите, чтобы входящая почта переводилась в обратном направлении):
http://www.postfix.org/postconf.5.html#sender_canonical_maps
Ответ или решение
Для изменения адреса Envelope From так, чтобы он соответствовал заголовку From в Postfix, существует несколько подходов, но наиболее эффективным способом является использование параметров конфигурации sender_canonical_maps
. Этот метод позволяет вам перенастроить адрес отправителя для исходящих писем, что особенно полезно для соблюдения требований SPF и DMARC, как вы упомянули.
Шаги для настройки изменения Envelope From с использованием sender_canonical_maps
-
Создание файла для преобразования отправителя:
В первую очередь вам нужно создать файл, в котором будут прописаны правила для преобразования адреса отправителя. Например, создайте файл/etc/postfix/sender_canonical
и добавьте в него следующее:[email protected] [email protected]
Здесь вы указываете, что при отправке с адреса
[email protected]
вы хотите, чтобы Envelope From было переопределено на[email protected]
. -
Преобразование файла в формат hash:
После того как вы создали или изменили файл, необходимо преобразовать его в формат, который Postfix может использовать. Выполните следующую команду:postmap /etc/postfix/sender_canonical
Это создаст файл
sender_canonical.db
, который теперь будет использоваться Postfix. -
Настройка конфигурации Postfix:
Далее нужно внести изменения в конфигурационный файл Postfix. Откройте файл/etc/postfix/main.cf
и добавьте или измените следующие строки:sender_canonical_maps = hash:/etc/postfix/sender_canonical
-
Перезагрузка Postfix:
После внесения изменений в конфигурацию необходимо перезапустить Postfix, чтобы изменения вступили в силу. Выполните следующую команду:sudo systemctl restart postfix
-
Проверка конфигурации:
После перезапуска вы можете отправить тестовое письмо, чтобы проверить, что Envelope From теперь соответствует заголовку From. Просмотрите заголовки отправленного письма, чтобы убедиться в правильности настроек.
Дополнительные настройки (по желанию)
Если вам также требуется изменить адреса для входящих писем, вы можете использовать параметр recipient_canonical_maps
аналогично описанному выше процессу. Это может быть полезно, если вы хотите осуществлять обратное преобразование для писем, которые приходят на ваш сервер.
Заключение
Использование sender_canonical_maps
в Postfix позволит вам гибко управлять адресами отправителей и улучшить совместимость с SPF и DMARC. Если у вас возникнут дополнительные вопросы или потребуется помощь в настройке, не стесняйтесь обращаться за помощью. Ваше внимание к деталям в настройках монтажа почтового сервера важно для обеспечения корректной работы электронной почты в вашей организации.