我正在接收
Failed to connect to ssl://smtp.gmail.com:587 [SMTP: Failed to connect socket: (code: -1, response: )]
当我尝试发送SMTP电子邮件时。我试过ssl://和tls://都没有成功。
我已经验证了我的计算机可以通过使用配置了SMTP帐户的outlook进行这样的传出连接,并且它能够成功地通过TLS发送出去。
我还通过phpinfo()验证了OpenSSL在web服务器上是启用的。它显示了PHP 5.3.15,并且有一个openssl部分显示了openssl Support: enabled
有关代码:
if($isSSL)
$host="tls://$host";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$opts=array ('host' => $host,
'debug'=>true,
'auth' => true,
'port'=>$port,
'username' => $username,
'password' => $password);
$smtp = Mail::factory('smtp',$opts);
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
}
任何想法吗?
ssl://
应该可以工作。请尝试465端口。
使用$mail->getUserInfo()
获取更详细的错误信息。
另一个问题来源可能是您的防火墙不允许到该端口的传出连接。