2015-05-22 70 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

相关问题