Конвейер в постфиксных / псевдонимах [дубликат]

Возможный дубликат:
Как настроить postfix для направления всей входящей электронной почты в сценарий?

У меня проблемы с настройкой простого конвейера для Redmine (или '| cat> / tmp / temp')

/ etc / postfix / virtual:

support@myhost.com support

/ etc / postfix / aliases:

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

processsemail.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 virtual_alias; newalias - Да, вероятно, переборщил, но все равно упустил pouint: (

Я запустил newaliases и перезапустил postfix. Почта доставляется как обычно, но ничего не добавляется в / tmp

Это единственный запись в журнале, говорящая что-либо о виртуальном .

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 | processsemail.sh в оболочке, все будет работать. Processemail даже не запускается с помощью postfix.

Кто-нибудь знает, что может быть не так? Или как включить дополнительное ведение журнала?

4
задан 13 April 2017 в 15:14
2 ответа

Псевдоним канала реализуется постфиксным агентом local (8) .

relay = virtual

Это означает, что вы используете виртуальный (8) доставка агента на адрес support@myhost.com, но вам потребуется local (8) , чтобы получить это письмо. Возможно, вы используете virtual в качестве local_transport или вам нужно поместить в свой файл virtual_alias_maps что-то вроде:

support@myhost.com support @ localhost

Эта ветка postfix-users и документация postfix может помочь.

6
ответ дан 3 December 2019 в 03:00

Вы можете использовать простой псевдоним в / etc / aliases (или где бы он ни находился):

support: |/usr/local/bin/yourscripthandler

Не забудьте запустить newaliases после

Обратите внимание, что перенаправление (> / tmp / blah ) - это то, что обрабатывается оболочкой, и постфикс AFAIK не будет вызывать оболочку для выполнения вашей команды; поэтому yourscripthandler должен выглядеть примерно так:

#!/bin/sh
/usr/local/bin/theactualscripthandler >/tmp/dummy
1
ответ дан 3 December 2019 в 03:00

Теги

Похожие вопросы