Postfix管道失败,带有"命令输出:无法打开输入文件:example@yahoo.com"

时间:2015-08-08 00:33:56

标签: php pipe postfix-mta

今天我一直在搜索互联网3-4个小时,没有运气,所以伙计们,我很感激一些帮助。

我将一个Postfix管道设置为PHP文件,并在检查/ var / log / maillog时看起来管道想要工作但我收到此错误:

Aug  7 20:23:15 u18320568 postfix/pipe[23495]: 483F023D88: to=<email_route@localhost.localdomain>, relay=email_route, delay=0.16, delays=0.07/0.01/0/0.07, dsn=5.3.0, status=bounced (Command died with status 1: "/var/www/vhosts/example.com/dev.example.com/library/parse.php". Command output: Could not open input file: example@yahoo.com )

这就是我的parse.php看起来像

#!/usr/bin/php -q
<?php

$f = fopen("php://stdin", "r")
mail('me@gmail.com','Reasons','This: <br><br>'.$f)

?>

我尝试从顶行删除-q(并且验证的PHP实际上已存在)并且我得到:

Aug  7 20:20:27 u18320568 postfix/pipe[22971]: 5673C23D84: to=<email_route@localhost.localdomain>, relay=email_route, delay=0.1, delays=0.07/0/0/0.03, dsn=4.3.0, status=deferred (temporary failure. Command output: pipe: fatal: pipe_command: execvp /var/www/vhosts/example.com/dev.example.com/library/parse.php: No such file or directory )

寻找想法,有人吗?

1 个答案:

答案 0 :(得分:0)

好的,事实证明代码是在Notepad ++中完成的(我猜不是在unix编辑器中)。我必须使用dos2unix才能正确转换,现在文件可以很好地执行

#!/usr/bin/php -q

我在这里找到了答案 https://askubuntu.com/questions/239927/usr-bin-php-sometimes-not-working-on-12-10-server