4
我想通過使用PEAR郵件的PHP發送電子郵件,但雖然該頁面報告郵件已發送,它永遠不會到達(我發送給自己進行測試) 。PEAR郵件不發送,但也沒有報告錯誤
我一直在研究如何處理錯誤,如果我把嚴格的報告上,我得到的這些半打報道:
Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in Blah Blah Blah! on line 450
Strict Standards: Non-static method PEAR::raiseError() should not be called statically, assuming $this from incompatible context in Blah Blah Blah! on line 451
在我的閱讀我所知,這些錯誤不會停止腳本從成功,並且大多數人只是留下嚴格的報告,但在我的情況下,腳本不起作用。
我曾嘗試以下方法來捕獲錯誤...
try {
$host = "ssl://mail.example.com";
$port = 25;
$auth = true; // turn on SMTP authentication
$username = "[email protected]"; // SMTP username
$password = "password"; // SMTP password
$mail = Mail::factory('smtp',
array('host'=>$host,'port'=>$port,'auth'=>true,'username'=>$username,'password'=>$password));
$mail->send($to,$headers,$message);
} catch (Exception $e) {
echo "Exception: " . $e->getMessage();
}
echo "Message Successfully Sent!";
而且也沒有嘗試捕捉和簡單的使用...
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
在這兩種情況下,頁報告「電子郵件成功發送!「但郵件沒有到達。如果我故意輸入錯誤的用戶名和密碼或虛構的郵件服務器,則不會報告錯誤。
如何在本例中檢查錯誤,以及爲什麼腳本仍然運行,如果我給它一個明顯的錯誤?
感謝 格雷格
郵件日誌說什麼? – 2013-09-22 10:24:24
你的意思是郵件服務器或其他東西的錯誤日誌?我無法訪問郵件服務器日誌。 – Barbs