Я хочу переписать все адреса отправителей @ 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.
Ясно, что здесь две цели:
Reply-To
заголовок.Для первой цели, используя 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 :)