Я хочу настроить postfix для маршрутизации сообщений на разные ретрансляторы на основе содержимого строки темы.
Желаемый результат был бы, если бы пользователь отправил исходящее электронное письмо с определенным тегом, скажем "SECURE:" в начале строки темы, оно будет перенаправлено на одно реле (1.1.1.1), но если тег не был указан, сообщение будет поставлено другое реле (2.2.2.2).
Я исследовал проверки заголовков до и после фильтрации сообщений и постфиксный прокси, но я не смог определить, как выполнить изменение почтового маршрута на основе содержимого сообщения (что, похоже, должно быть довольно простым делом).
Я мог бы ожидать задействовать procmail для этой задачи, но мне нужна помощь в том, с чего начать. Кто-нибудь может помочь?
Если я правильно понимаю руководство, вы можете добиться этого с помощью проверки заголовка с помощью FILTER transport:destination
.
Из часть руководства header_checks:
The transport name specifies the first field of a mail delivery agent definition
in master.cf; the syntax of the next-hop destination is described in the manual page
of the corresponding delivery agent.
В твоем случае, это было бы smtp:1.1.1.1
Итак, полный конфиг:
В main.cf:
header_checks = regexp:/etc/postfix/header_checks
relayhost = 2.2.2.2
В header_checks:
/^Subject: SECURE:/ FILTER smtp:1.1.1.1
Я это вообще не тестировал.