2015-05-22 96 views
0

試圖在編碼方面有點防禦性,而且我試圖發送郵件,只有當連接成功到SMTP服務器。目前,如果連接不成功,我會收到warning僅當fsockopen連接到SMTP服務器時才發送郵件

如果發送的郵件是truefalse,我仍然可以捕獲,但我想知道這樣做的正確方法是什麼,所以我沒有提出警告。

當前代碼:

$this->email->message($content); 
    if ($this->email->send()) { 
    return true; } 
    else{ 
     return false; 
    } 

我所試圖實現的,所以,我不提出一個警告。

if fsockopen connection successful { 
     if ($this->email->send()) { 
     return true; } 
     else{ 
      return false; 
     } 
} 

警告我現在得到fsockopen無法連接。

Message: fsockopen(): unable to connect to ssl://smtp.googlemail.com:465 (php_network_getaddresses: getaddrinfo failed: No such host is known.)

雖然它的工作,我可以隱藏所有錯誤/警告,我想做到這一點:)

回答

0

在最近的版本中,PHPMailer的不使用fsockopen正確的方式(它使用stream_socket_client ),並捕獲並報告連接錯誤。我懷疑你使用的是舊版本,所以get the latest,並將您的代碼基於它提供的示例。

+0

我很抱歉,但該標籤是可信的。我使用Codeigniter自己的郵件助手類。 – Kishor

相關問題