Вот некоторые мысли, которые потребуют некоторой настройки для удовлетворения ваших конкретных потребностей. Первое, что я обнаружил, было то, что Postfix, похоже, не нравится делать что-либо с адресами, которые являются псевдонимами (т.е. virtual_alias_domain
/ virtual_alias_maps
). Но это нормально, поскольку на самом деле не имеет значения, как называются эти адреса, если все в итоге доставляется правильно.
Итак, в Postfix's main.cf
добавьте следующие строки:
virtual_mailbox_domains = example.org
# Feel free to give munger a better name, just update master.cf appropriately
virtual_transport = munger:
Далее вам нужно сообщить Postfix, что на munger
самом деле означает. Добавьте следующее (см. Pipe (8) для дополнительных опций). Поэтому добавьте следующее master.cf
:
munger unix - n n - - pipe
flags= user=nobody argv=/usr/bin/redirector
В соответствии с вышеизложенным, все, что предназначено, example.org
будет отправлено в /usr/bin/redirector
программу (или как вы хотите это назвать). Для большинства обычных вещей вам понадобятся некоторые аргументы командной строки для информации об отправителе / получателе (опять же, pipe(8)
содержит больше подробностей), но поскольку адреса отправителя и получателя являются фиксированными, в командной строке больше ничего не требуется.
Теперь вам просто нужно написать redirector
программу. Это сработало для меня:
#!/bin/sh
/usr/sbin/sendmail -bm -f 'something@myserver' 'something@gmail.com'
Это обычный сценарий оболочки (или ваш язык по вашему выбору), поэтому сделайте его простым или сложным, как вам нравится.