Есть сервер на Centos. Стоит Exim + Dovecot + PostfixAdmin. База MySql.Стоит очень дурацкая задача:
есть 1 ящик (ящик1). На нем стоит пересылка на 2 внешних ящика (ящик2, ящик3).
если приходит письмо на ящик1, то оно должно продублироваться на ящик 2 и 3.
но если письмо приходит на ящик1 с ящика2, то оно должно продублироваться только на ящик3. и наоборот.
При этом в продублированном письме нужно подменить заголовки Reply-to и From на ящик1. А в том письме, которое сохранится в локальном ящике - заголовки должны остаться старые.
Что сделано:
в routers сделал условия, что письма с ящика2 на ящик1 пересылаются только на ящик3 и наоборот:
onebox1:
driver = redirect
allow_fail
allow_defer
condition = ${if and {{eq{$sender_address}{ящик2}}{eq{$local_part@$domain}{ящик1}}}}
data = ящик3, ящик1
В фильтрах сделал подмену заголовков:
if $sender_address matches "ящик2" and $recipients matches "ящик1"
then
headers remove "Return-path"
headers add "Return-path: <ящик1>"
headers remove "From"
headers add "From: <ящик1>"
endif
Что не получилось:
в локальный ящик письмо сохраняется с подмененными заголовками (From: ящик1).
Удалось подменить назад Reply-To, указав в секции routers у довекота: return_path_add
А вот как изменить From, после прохода секции routers - не знаю :(
Может в фильтрах добавить какой-то заголовок, например From-Old. А потом уже силами довекота его обработать?