在后缀/别名pipe道

可能重复:
如何configuration后缀pipe道所有传入的电子邮件到脚本?

我在为Redmine(或“| cat> / tmp / temp”)设置简单pipe道时遇到问题

/等/后缀/虚拟:

[email protected] 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; postmap virtual; postalias aliases; postalias virtual_alias; newalias newaliases; postmap virtual; postalias aliases; postalias virtual_alias; newalias – 是的,可能过分了,但仍然错过了pouint 🙁

我运行newaliases并重新启动后缀。 邮件照常发送,但没有添加到/ tmp

这是唯一有关virtual日志条目。

 Dec 10 04:08:41 master postfix/virtual[3112]: A3F46AD1BF: to=<[email protected]>, 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 cat someemail | processemail.sh在shell中,一切正常。 Processemail甚至不是由后缀运行。

任何人都知道什么可能是错的? 或者我可以如何打开更多的日志?

pipe道别名由本地(8)后缀代理实现。

中继=虚拟

这意味着您正在使用虚拟(8)代理交付给[email protected],但您需要本地(8)来获取该电子邮件。 也许你使用虚拟作为你的local_transport或者你需要把你的'virtual_alias_maps'文件如下所示:

[email protected]支持@ localhost

这个后缀用户线程和后缀文档可能会有所帮助。

你可以在/etc/aliases (或者它所在的位置)使用一个简单的别名:

 support: |/usr/local/bin/yourscripthandler 

之后不要忘了运行newaliases

请注意,redirect( >/tmp/blah )由shell处理,AFAIK postfix不会调用shell来运行命令; 所以yourscripthandler应该是这样的:

 #!/bin/sh /usr/local/bin/theactualscripthandler >/tmp/dummy