PHP Pear Mail SSL 连接问题

标签 php email ssl openssl pear

我收到了

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。它显示 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() 获取更详细的错误消息。

另一个问题来源可能是您的防火墙不允许到该端口的传出连接。

关于PHP Pear Mail SSL 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15935745/

相关文章:

php - 通过电子邮件将内容发送到 php 脚本

PHP & MYSQL 未选择数据库

c# - 如何让控制台应用程序不断发送电子邮件?

Java Mail XML - 将变量插入到 xml 返回的数据中

wcf - WCF 的 SSL 不工作!如何调试

c# - 在 Ubuntu 上禁用证书验证

php - MySQL OR 在查询中

php - 多个站点上的 APC 用户缓存 key 冲突

php - 许可应用程序的服务器安全性

ssl - 将新的客户端证书添加到 NSS 数据库