CI電子郵件send()函數只返回true或false。有沒有辦法得到更詳細的原因,爲什麼發送失敗?我正在使用SMTP。Codeigniter電子郵件錯誤處理
14
A
回答
0
12
您可以進一步檢查所發生的事情通過電子郵件調試器:
$r = $this->send();
if (!$r)
$this->email->print_debugger()
;
從Codeigniter Email Class Reference。
如果您需要調試器輸出作爲一個字符串,你可以趕上輸出與output buffer:
$errors = array();
... # Loop
$r = $this->send();
if (!$r) {
ob_start();
$this->email->print_debugger();
$error = ob_end_clean();
$errors[] = $error;
}
... # Loop end
8
的print_debugger()
功能會起作用,但它附加在底部的電子郵件頭和消息。如果你想要的是調試信息(包括成功和錯誤消息)的數組,你可以考慮延長電子郵件類的功能如下:
<?php
class MY_Email extends CI_Email
{
public function clear_debugger_messages()
{
$this->_debug_msg = array();
}
public function get_debugger_messages()
{
return $this->_debug_msg;
}
}
你會希望把這個在在您的./application/libraries文件夾中名爲MY_Email.php的文件。 CodeIgniter會自動識別這個類的存在並用它來代替它的默認類。
如果你想獲得調試信息的列表(陣列),然後你可以這樣做:
$this->email->get_debugger_messages();
如果你通過循環消息和不希望包括來自以前的嘗試調試信息,你可以這樣做:
foreach ($email_addresses as $email_address)
{
$this->email->to($emai_address);
if (! $this->email->send())
{
echo 'Failed';
// Loop through the debugger messages.
foreach ($this->email->get_debugger_messages() as $debugger_message)
echo $debugger_message;
// Remove the debugger messages as they're not necessary for the next attempt.
$this->email->clear_debugger_messages();
}
else
echo 'Sent';
}
參考:的http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html 「擴展本地庫」 部分。
相關問題
- 1. Codeigniter SMTP電子郵件錯誤
- 2. CodeIgniter的電子郵件信箱錯誤
- 3. 電子郵件批處理
- 4. 每當輸入電子郵件時,Python文件處理錯誤
- 5. codeigniter電子郵件附件
- 6. Codeigniter電子郵件類別 - 電子郵件垃圾郵件
- 7. PHP通過電子郵件錯誤處理導入.csv
- 8. Excel電子郵件掛起Outlook直到發送 - 錯誤處理?
- 9. 處理電子郵件錯誤以禁用發送
- 10. joomla DOMPDF,錯誤處理和電子郵件
- 11. CruiseControl電子郵件錯誤
- 12. Fluorinefx錯誤電子郵件
- 13. Laravel錯誤:電子郵件
- 14. symfony電子郵件錯誤
- 15. PHP電子郵件錯誤
- 16. python電子郵件錯誤
- 17. Codeigniter電子郵件問題
- 18. Codeigniter電子郵件REGEX
- 19. Codeigniter - 發送電子郵件
- 20. 如何在Codeigniter中設置自定義錯誤處理程序以發送電子郵件錯誤
- 21. Perl郵件錯誤處理
- 22. PHPMailer錯誤 - HTML電子郵件錯誤
- 23. Codeigniter電子郵件只適用於我的電子郵件
- 24. Codeigniter - 電子郵件分類 - HTML電子郵件加載視圖
- 25. 如何處理海量電子郵件
- 26. 處理驗證電子郵件
- 27. 更改DNS時處理電子郵件
- 28. 如何隨意處理電子郵件?
- 29. 異常處理電子郵件命令
- 30. Procmail處理轉發電子郵件
您是否正在使用[內置CI錯誤處理例程和設置](http://codeigniter.com/user_guide/general/errors.html)? – hakre
可能重複:http://stackoverflow.com/questions/5777352/error-when-sending-smtp-email-with-google-and-codeigniter – hakre
如果這是在生產中,我通常關閉所有的錯誤記錄。如果我將錯誤報告設置爲無,CI錯誤處理日誌功能是否仍然有效? – samxli