这可能是一个荒谬的问题,但它一直困扰着我。 我有一个邮件转发器管道传输到PHP脚本,它收到完美,但我有以下错误邮寄给我立即:
A message that you sent could not be delivered to one or more of its recipients. This is a permanent error. The following address(es) failed:
pipe to |/home/[webroot]/public_html/external/mobile/email.php
generated by mobile@[mydomain]
The following text was generated during the delivery attempt:
X-Powered-By: PHP/5.2.13
Content-type: text/html
正如您所看到的,Exim认为标题响应是我脚本的错误。该脚本可以从 php:// stdin 完全接收电子邮件,但Exim会快速回复错误。
另外,
所以我的问题是:如何摆脱这两个标题?
谢谢, 〜乔尼
编辑,来源:
#!/usr/bin/php
<?php
$fd = fopen("php://stdin", "r");
$email = "";
while (!feof($fd)) {
$email .= fread($fd, 1024);
}
fclose($fd);
$dat = fopen(dirname(__FILE__).'/test.txt', 'w');
fwrite($dat, $email);
fclose($dat);
答案 0 :(得分:14)
看起来你正在运行php-cgi而你需要php-cli(只是“php”)。运行php -v以确保。如果是这种情况,请尝试“-q”选项。
答案 1 :(得分:1)
有同样的问题。我的主人告诉我,我可以使用php-5.4-cli(通常我使用的是php-5.4)。
添加-cli为我工作。