Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 电子邮件管道-正常工作,但电子邮件返回错误_Php_Linux_Email - Fatal编程技术网

Php 电子邮件管道-正常工作,但电子邮件返回错误

Php 电子邮件管道-正常工作,但电子邮件返回错误,php,linux,email,Php,Linux,Email,我已将我的电子邮件转发设置为“管道到程序”。管道似乎在工作,因为当一封电子邮件发送到我的管道电子邮件地址时,它会返回一条未送达的消息,其中包含来自我的PHP脚本的错误,例如: 此邮件由邮件传递软件自动创建 无法将您发送的邮件传递给一个或多个收件人。这是一个永久性的错误。以下地址失败: 管道至|/home/badihbar/public_html/handEmlTst.php 产生于badih@badihbarakat.com 本地传递失败 在传递尝试期间生成了以下文本: ------管道至|/h

我已将我的电子邮件转发设置为“管道到程序”。管道似乎在工作,因为当一封电子邮件发送到我的管道电子邮件地址时,它会返回一条未送达的消息,其中包含来自我的PHP脚本的错误,例如:

此邮件由邮件传递软件自动创建

无法将您发送的邮件传递给一个或多个收件人。这是一个永久性的错误。以下地址失败:

管道至|/home/badihbar/public_html/handEmlTst.php 产生于badih@badihbarakat.com 本地传递失败

在传递尝试期间生成了以下文本:

------管道至|/home/badihbar/public_html/handEmlTst.php 产生于badih@badihbarakat.com------

/home/badihbar/public_html/handEmlTst.php:第1行:?php:没有这样的文件或目录 /home/badihbar/public_html/handEmlTst.php:第3行://:是一个目录 /home/badihbar/public_html/handEmlTst.php:line 4://:是一个目录 /home/badihbar/public_html/handEmlTst.php:第5行:意外标记附近的语法错误
('
/home/badihbar/public_html/handEmlTst.php:第5行:
//日期默认时区设置(“亚洲/马斯喀特”);'

------这是邮件的副本,包括所有的标题------

显然,出于某种原因,它不承认php文件有php脚本。我怀疑的是第一行本身。我怎么知道在“#!”之后应该放什么路径

来自handEmlTst.php的我的php脚本:

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

// include_once "Libraries/connection.class.php";
// include_once "includes/readini.inc.php";
// date_default_timezone_set("Asia/Muscat");

$starttime = date("h:i:s");

// create the connection object...
$s = ini_get("mysql.default_host");

$conn = mysql_connect($s,'badihbar_badih','letmein2013');

$db = "badihbar_supportcenter";

$attachments = array();

if(mysql_error())
{
    print "Error Occured: ".mysql_error()."<br>";
    $err = true;
}

mysql_select_db($db,$conn);

$commString  = "INSERT INTO scriptEmails (Message) VALUES ('From the Script - ".$starttime."')";

// , '".mysql_real_escape_string($email)."'

$result = mysql_query($commString, $conn);
if(mysql_error())
{
    // echo "Error Occured Saving Data: ".mysql_error()."<br>";
    // print $Conn->commString."<br>";
}


?>
#!/usr/lib/php-q
我已经检查了phpinfo()的路径,但老实说,我不知道我在寻找什么。所以,我想php解释器应该是usr/lib/或其他格式。我应该用我的域用户或其他格式替换usr吗?如果有人能提供这方面的建议,我将不胜感激


非常感谢

我终于让它工作起来了。以下是让所有人受益的步骤……)

  • 我使用phpinfo()获取php解释器的路径。对于我的服务器,我使用了“configurationfile(php.ini)Path”参数值,即usr/lib/
  • 用过/usr/lib/php-q作为我的处理脚本的第一行
  • 这部分是我的问题所在。上传文件为ASCII码,而不是二进制
  • 确保上载文件的chmod为755
  • 在我的cpanel中将我的电子邮件地址的转发设置为“Pipe to a program”,并放置我上传的php脚本文件的路径
  • 就是这样。正如我提到的,我的问题是FTP应用程序将文件作为二进制文件而不是ASCII文件上传


    谢谢大家……)

    我终于设法让它工作了。以下是让所有人受益的步骤……:)

  • 我使用phpinfo()获取php解释器的路径。对于我的服务器,我使用了“configurationfile(php.ini)Path”参数值,即usr/lib/
  • 用过/usr/lib/php-q作为我的处理脚本的第一行
  • 这部分是我的问题所在。上传文件为ASCII码,而不是二进制
  • 确保上载文件的chmod为755
  • 在我的cpanel中将我的电子邮件地址的转发设置为“Pipe to a program”,并放置我上传的php脚本文件的路径
  • 就是这样。正如我提到的,我的问题是FTP应用程序将文件作为二进制文件而不是ASCII文件上传


    谢谢大家……)

    我终于设法让它工作了。以下是让所有人受益的步骤……:)

  • 我使用phpinfo()获取php解释器的路径。对于我的服务器,我使用了“configurationfile(php.ini)Path”参数值,即usr/lib/
  • 用过/usr/lib/php-q作为我的处理脚本的第一行
  • 这部分是我的问题所在。上传文件为ASCII码,而不是二进制
  • 确保上载文件的chmod为755
  • 在我的cpanel中将我的电子邮件地址的转发设置为“Pipe to a program”,并放置我上传的php脚本文件的路径
  • 就是这样。正如我提到的,我的问题是FTP应用程序将文件作为二进制文件而不是ASCII文件上传


    谢谢大家……)

    我终于设法让它工作了。以下是让所有人受益的步骤……:)

  • 我使用phpinfo()获取php解释器的路径。对于我的服务器,我使用了“configurationfile(php.ini)Path”参数值,即usr/lib/
  • 用过/usr/lib/php-q作为我的处理脚本的第一行
  • 这部分是我的问题所在。上传文件为ASCII码,而不是二进制
  • 确保上载文件的chmod为755
  • 在我的cpanel中将我的电子邮件地址的转发设置为“Pipe to a program”,并放置我上传的php脚本文件的路径
  • 就是这样。正如我提到的,我的问题是FTP应用程序将文件作为二进制文件而不是ASCII文件上传

    谢谢大家……)

    您也可以使用#/usr/local/bin/php位于php文件的起始行,它是cli二进制文件而不是cgi二进制文件

    这对我很有用,如果你通过了@Badih Barakat所说的上述案例,你也可以使用#/usr/local/bin/php位于php文件的起始行,它是cli二进制文件而不是cgi二进制文件

    这对我很有用,如果你通过了@Badih Barakat所说的上述案例,你也可以使用#/usr/local/bin/php位于php文件的起始行,它是cli二进制文件而不是cgi二进制文件

    这对我很有用,如果你通过了@Badih Barakat所说的上述案例,你也可以使用#/usr/local/bin/php位于php文件的起始行,它是cli二进制文件而不是cgi二进制文件


    如果您在将第一行调整为#后通过了@Badih Barakat

    所说的上述案例,那么这对我来说是有效的!usr/bin/php-q,我在弹出的未送达邮件消息中得到了以下信息:通常是/usr/bin/php试试这个
    php在哪里
    w