[英]Email Piping - working but emails return errors
我已將我的電子郵件轉發設置為“管道到程序”。 管道似乎正在工作,因為當電子郵件發送到我的管道電子郵件地址時,它會返回未送達的消息,其中包含來自我的PHP腳本的錯誤,例如:
該消息是由郵件傳遞軟件自動創建的。
您發送的郵件無法傳遞給一個或多個收件人。 這是一個永久性錯誤。 以下地址失敗:
由badih@badihbarakat.com生成的| /home/badihbar/public_html/handEmlTst.php本地傳送失敗
嘗試交付期間生成了以下文本:
------管道到| /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:第4行://:是目錄/home/badihbar/public_html/handEmlTst.php:第5行:意外令牌附近的語法錯誤(' /home/badihbar/public_html/handEmlTst.php: line 5:
// date_default_timezone_set (“亞洲/馬斯喀特”);'
------這是消息的副本,包括所有標題。 ------
顯然,由於某種原因,它無法識別具有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>";
}
?>
我已經檢查了phpinfo()的路徑,但老實說不知道我在尋找什么。 因此,我認為php解釋器將位於usr / lib /之內。 我應該用我的域用戶代替usr嗎? 我很高興有人可以就此提供建議。
非常感謝
畢竟我設法使它工作。 以下是使所有人受益的步驟... :)
做到了。 正如我提到的,我的問題是FTP應用程序將文件上傳為二進制而不是ASCII。
謝謝,所有... :)
您還可以在PHP文件的起始行上使用#!/ usr / local / bin / php,它是cli二進制文件而不是cgi二進制文件。
如果您通過@Badih Barakat所說的以上情況,這對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.