Назад | Перейти на главную страницу

постфиксная перезапись отправителя с помощью универсального & header_check

Я хочу переписать все адреса отправителей @ example.com на newsender@example.org (на один статический исходящий адрес), но я также хочу, чтобы исходный адрес был добавлен в качестве reply-to. Я могу сделать либо индивидуально с общим файлом, либо с файлами header_checks, соответственно, но поскольку общий файл, кажется, используется первым, я теряю исходного отправителя. Я что-то пропустил из документация по переписыванию постфикса?

Было бы нормально, если бы у отправителя конверта было что-то вроде original+mydomain.com@newsenderdom.com так долго как From: заголовок newsender@newsenderdom.com. Любые идеи?

Если в Qmail есть простое решение, то это тоже вариант!

После многих часов поиска и нескольких сообщений (здесь и в других местах), в которых говорится, что это невозможно без milter или с инструкциями, которые не сработали для меня (как указано выше), успех!

По крайней мере, с моим тестированием на моей настройке вы не можете использовать smtp_generic_maps, потому что это, похоже, выполняется перед прочие проверки / перезаписи. Однако если вы используете sender_canonical_maps, то, похоже, это выполняется после проверяет как header_checks. Итак, вы можете просто иметь следующее в main.cf:

sender_canonical_maps = hash:/etc/postfix/sender_canonical_maps
header_checks = regexp:/etc/postfix/header_checks

Содержание файлов

/ etc / postfix / sender_canonical_maps:

@example.com    user@example.org

/ etc / postfix / header_checks:

/^From:(.*)$/   PREPEND Reply-To:$1

И беги postmap /etc/postfix/sender_canonical_maps

Перезапустить постфикс service postfix restart

И вы смеетесь :-). Это добавляет ожидаемый заголовок Reply-to: Anywasthere@example.com и изменяет конверт и заголовок с на user@example.org.

Ясно, что здесь две цели:

  1. Добавить исходного отправителя в Reply-To заголовок.
  2. Перепишите отправителя в статическое значение.

Для первой цели, используя smtpd_sender_restriction + карты доступа должен сделать свое дело. Укажите этот параметр в main.cf

smtpd_sender_restriction = check_sender_access pcre:/etc/postfix/append_replyto.pcre

Содержание /etc/postfix/append_replyto.pcre

/(.*)/  PREPEND Reply-To:$1

Файл карты совпадет со всеми отправителями и добавит его в заголовок Reply-To.


Вторая цель достигается с помощью smtp_generic_maps. Упс ... похоже, мне не хватает кусочка общий поведение. Он перепишет весь заголовок (в From / Reply-To / другой) и конверт.

Общее (5) отображение влияет как на адреса заголовка сообщения (т.е. адреса, которые появляются внутри сообщений) и адреса конверта сообщения (например, адреса, которые используются в командах протокола SMTP).

Для рабочего решения см. Решение из OP :)