簡體   English   中英

電子郵件管道-工作正常,但電子郵件返回錯誤

[英]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嗎? 我很高興有人可以就此提供建議。

非常感謝

畢竟我設法使它工作。 以下是使所有人受益的步驟... :)

  1. 我使用phpinfo()獲取php解釋器的路徑。 我為服務器使用了“配置文件(php.ini)路徑”參數值usr / lib /。
  2. 使用#!/ usr / lib / php -q作為我的處理腳本中的第一行。
  3. 這部分是我的問題。 以ASCII而非二進制格式上傳文件!
  4. 確保上載文件的chmod為755。
  5. 將我的電子郵件地址的轉發設置為cpanel中的“管道程序”,然后放置我已上傳的php腳本文件的路徑。

做到了。 正如我提到的,我的問題是FTP應用程序將文件上傳為二進制而不是ASCII。

謝謝,所有... :)

您還可以在PHP文件的起始行上使用#!/ usr / local / bin / php,它是cli二進制文件而不是cgi二進制文件。

如果您通過@Badih Barakat所說的以上情況,這對我有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM