2011-05-23 113 views
1

嘗試發送電子郵件時出現以下代碼錯誤。它適用於我的本地機器,但不適用於我將其放在AWS LAMP服務器上的機器。我無法調試任何內容,因爲我在運行腳本時遇到HTTP 500錯誤。但是,我知道PEAR已安裝。PHP PEAR郵件錯誤

代碼:

require_once "Mail.php"; 

$from = "Email<[email protected]>"; 
$to = "[email protected]"; 
$subject = "ERROR REPORT"; 
$body = "test message"; 

$host = "ssl://smtp.gmail.com"; 
$port = "465"; 
$username = "[email protected]"; 
$password = "pass1"; 

$headers = array ('From' => $from, 
    'To' => $to, 
    'Subject' => $subject); 

$smtp = Mail::factory('smtp', 
array ('host' => $host, 
    'port' => $port, 
    'auth' => true, 
    'username' => $username, 
    'password' => $password)); 


$mail = $smtp->send($to, $headers, $body); 


if (PEAR::isError($mail)) { 
    echo("<p>" . $mail->getMessage() . "</p>"); 
    } else { 
    echo("Error message sent!"); 
} 

這似乎是在發送()命令以上竊聽出來。任何關於如何更好地調試的建議?

回答

4

嘗試以下兩行:

ini_set('display_errors','on'); 
error_reporting(E_ALL); 

配售這兩個腳本早期繞過php.ini設置,將隱藏的錯誤,否則。希望有所幫助!

另外,如果可以的話,將它們放在被調用的PHP文件中,然後包含使用郵件功能的文件。這樣,由於語法錯誤,您避免上述代碼無法正常工作。

+1

謝謝!這工作。問題是我沒有安裝Net_SMTP – Steven 2011-05-26 01:10:35

0

查看網絡服務器的錯誤日誌,即/var/log/apache2/error.log