Я ищу конфигурацию постфикса для создания правил перезаписи получателя на основе имени домена получателя, включая catch all для доменов, не найденных в списке «не перезаписывать». Например:
laber@example.com
, не переписывать и доставлять в MX на example.comfoo@bar.com
, переписать на foo@spam.example.com
<user>@<domain>
, переписать на <user>@spam.example.com
Идеальным был бы список доменов, которые нельзя переписывать через Postfix. Пока я использую настройку без исключения, поэтому все переписано:
recipient_canonical_maps = static:@spam.example.com
Спасибо, Аарон, твой ответ мне очень помог. Я могу подтвердить, что следующие настройки работают с моей текущей установкой постфикса (стабильный Ubuntu 14.04).
Я добавил следующее в main.cf
:
# Receive all emails and rewrite the destination because of testing.
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_maps
Мой recipient_canonical_maps
выглядит так:
!/.*@example.com/ @spam.example.com
В main.cf добавить (удалив существующую статическую карту):
recipient_canonical_maps = pcre:/etc/postfix/rcpt_canonical_maps
В / etc / postfix / rcpt_canonical_maps (замените domain1.com и т.д. на свои «хорошие» домены):
if !/^(.*)@(domain1.com|domain2.com|domain3.com)$/
/^(.*)@.*$/ REDIRECT ${1}@spam.example.com
endif
Пожалуйста, не надо, я не тестировал это, но я уверен, что это сделает то, что вам нужно.
Сказав это, я должен подчеркнуть, что важно протестировать это в непроизводственной среде.