Назад | Перейти на главную страницу

Как мне заставить Postfix доставлять ВСЮ почту в специальный скрипт?

Я пытаюсь настроить 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, если у вас нет виртуальных адресов