2014-01-17 78 views
0

我有一個表單提交應該運行我的PHP文件,但我相信我不斷收到致命錯誤。在我的PHP文件的最後,我有這個代碼塊:PHPMailer調試致命錯誤

if(!$mail->send()) { 
     echo 'Message could not be sent.'; 
     echo 'Mailer Error: ' . $mail->ErrorInfo; 
     exit; 
    } 

    echo 'Message has been sent'; 

但是,當我點擊提交執行我的PHP文件所發生的一切是頁面被重定向到我的PHP文件,是一個空白網頁。我沒有看到任何回聲。一種新的PHP和PHPMailer,所以如果有人可以告訴我如何調試PHP代碼,將不勝感激。

這是我的郵件設置,我想通過我的網絡服務器發送電子郵件到Outlook:

$mail = new PHPMailer(); 
$mail->isSMTP(); 
$mail->Host = 'smtp.office365.com'; 
$mail->Port = '995'; 
$mail->SMTPSecure = 'ssl'; 
+0

總是在你與服務器端的PHP問題的第一步是檢查錯誤的HTTP服務器輸出在其錯誤日誌文件中。其他一切都是瘋狂的猜測。 – arkascha

+0

@arkascha你說的PHP日誌? – Adjit

+0

哪個文件取決於你的php配置,只有你可以說。通常它是http服務器錯誤日誌文件,類似於'/ var/log/apache2/error_log'或類似文件,但這取決於您的系統設置,並且可以在'php.ini'配置文件中更改。 – arkascha

回答

0

你的對象實例化不正確。它應該是:

$mail = new PHPMailer(); 

此外,您還可以修改PHP runtime configuration查看錯誤:display_errorsdisplay_startup_errors

+0

沒有改變任何東西。 – Adjit

+0

如果他的客戶被重定向,這不會有幫助。他不會看到任何錯誤提示。 – arkascha

+0

@arkascha反正我可以防止重定向?我確實運行了JQuery,並且我嘗試了一些提交時應該停止重定向的東西,但它似乎不起作用。這是我的jQuery代碼:$('#dform')。submit(function(event){ \t \t \t alert(「您的請求已提交,請至少允許1個工作日回覆。」); \t \t return false; \t});' – Adjit