![后缀/别名中的管道](https://linux22.com/image/569576/%E5%90%8E%E7%BC%80%2F%E5%88%AB%E5%90%8D%E4%B8%AD%E7%9A%84%E7%AE%A1%E9%81%93.png)
我在为 Redmine 设置简单管道时遇到问题(或'|cat > /tmp/temp')
在/etc/postfix/虚拟:
[email protected] support
在 /etc/postfix/别名中:
support: "|/opt/redmine-1.2.2/processemail.sh"
主配置文件
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 并重启了 postfix。邮件照常发送,但 /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
在 shell 中运行,一切都会正常。Postfix 甚至不会运行 Processemail。
有谁知道哪里出了问题?或者我该如何启用更多日志记录?
答案1
答案2
/etc/aliases
您可以在(或位于任何地方)使用简单的别名:
support: |/usr/local/bin/yourscripthandler
之后别忘了跑步newaliases
。
请注意,重定向(>/tmp/blah
)是由 shell 处理的,并且据我所知,postfix 不会调用 shell 来运行你的命令;所以yourscripthandler
应该是这样的:
#!/bin/sh
/usr/local/bin/theactualscripthandler >/tmp/dummy