Я пытаюсь настроить postfix так, чтобы ВСЯ почта, приходящая (в любой домен), передавалась в сценарий оболочки, который у меня есть.
Я пробовал несколько вещей, включая настройку
mailbox_command = path_to_my_script
и это работает, но будет принимать почту только на настоящие локальные учетные записи.
Я также пытался установить
local_recipient_maps =
который, как я полагаю, должен принимать всю почту, но, похоже, это не работает.
Я использую postfix 2.5.5-1.1 на Ubuntu Jaunty (9.04).
Взгляните на master.cf. Там уже определено множество сервисов / примеров, это будет хорошей отправной точкой. Затем определите virtual_transport и задайте ему имя, которое вы определили в master.cf. Например (я использую dovecot LDA в своих настройках):
В master.cf:
dovecot unix - n n - - pipe
flags=DR user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop} -n -m ${extension}
В main.cf:
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
Это должно вас начать :)
Или вы можете реализовать его как демон фильтра check_policy_service для smtpd_recipient_restrictions. Чтение документации postfix - лучшее начало для вас :)
определите службу в master.cf, а затем в main.cf
virtual_transport = transport_name
или используйте его в / etc / transport, если у вас нет виртуальных адресов