Трубопровод в постфиксе / псевдонимах
Возможный дубликат:
Как настроить postfix для передачи всей входящей электронной почты в скрипт?
У меня проблемы с настройкой простого конвейера для Redmine (или '| cat> / tmp / temp')
/ И т.д. / постфикса / виртуальный:
support@myhost.com support
/ и т.д. / постфикса / псевдонимы:
support: "|/opt/redmine-1.2.2/processemail.sh"
main.cf
virtual_alias_maps = hash:/etc/postfix/virtual, mysql:/etc/postfix/mysql_virtual_forwards.cf
virtual_mailbox_domains = myhost.com, mysql:/etc/postfix/mysql_virtual_domains.cf
virtual_mailbox_maps = hash:/etc/postfix/virtual_alias, mysql:/etc/postfix/mysql_virtual_mailboxes.cf
alias_maps = hash:/etc/postfix/aliases
alias_database = $alias_maps
processemail.sh:
#!/bin/sh
/opt/redmine-1.2.2/extra/mail_handler/rdm-mailhandler.rb --url http://myhost.com --key f5obfctmGfqZWnOWNtR8 --project test --tracker support --allow-override tracker,project --verbose --unknown-user accept --no-permission-check
Я бегал newaliases; postmap virtual; postalias aliases; postalias virtual_alias; newalias
- Да, вероятно, переусердствовал, но все еще не хватает путин:(
Я запустил newaliases и перезапустил постфикс. Почта доставляется как обычно, но в / tmp ничего не добавляется
Это единственная запись в журнале, рассказывающая о virtual
,
Dec 10 04:08:41 master postfix/virtual[3112]:
A3F46AD1BF: to=<support@myhost.com>, relay=virtual, delay=0.4,
delays=0.38/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Если я бегу cat someemail | processemail.sh
в оболочке все работает. Processemail даже не запускается постфиксом.
Кто-нибудь знает, что может быть не так? Или как я могу включить больше регистрации?
2 ответа
Псевдонимы каналов реализованы локальным (8) постфиксным агентом.
Реле = виртуальные
Это означает, что вы используете виртуальную (8) доставку агента на support@myhost.com, но вам нужно local(8) для получения этой электронной почты. Возможно, вы используете virtual в качестве local_transport или вам нужно поместить в файл virtual_alias_maps что-то вроде:
support@myhost.com support @ localhost
Эта ветка postfix-users и документация postfix могут помочь.
Вы можете использовать простой псевдоним в /etc/aliases
(или где бы он ни находился):
support: |/usr/local/bin/yourscripthandler
Не забудь бежать newaliases
после этого.
Обратите внимание, что перенаправление (>/tmp/blah
) - это то, что обрабатывается оболочкой, и постфикс AFAIK не будет вызывать оболочку для запуска вашей команды; так yourscripthandler
должно быть что-то вроде:
#!/bin/sh
/usr/local/bin/theactualscripthandler >/tmp/dummy