PHPMailer 带有 SSL - CentOS 6.7 VPS - SMTP 错误:无法连接到服务器:(0)

PHPMailer 带有 SSL - CentOS 6.7 VPS - SMTP 错误:无法连接到服务器:(0)

我有一个 CentOS 6.7 VPS,PHPMailer 5.2.14 无法连接到我的邮件服务器。我尝试过解决问题,但仍然没有解决我的问题。我的 PHP 版本是 5.6.18。我从详细调试(SMTPDebug = 4)获得的唯一输出是:

2016-03-06 23:05:40 连接:打开至 ssl://mail.server.com:465,超时=300,选项=数组()

2016-03-06 23:05:40 SMTP 错误:无法连接到服务器:(0)

我尝试修复此问题的方法如下:

  • 禁用 SELinux(当前已通过 http_can_sendmail 和 http_can_network_connect 启用)
  • 禁用防火墙(目前已再次启用)
  • 检查 php openssl 包是否已启用(在 php -m 中列出)
  • 仔细检查所有凭证(无空格,无任何内容)

其他信息:

  • 可以使用 openssl s_client 在端口 465 上连接到我的邮件服务器
  • PHPmailer 无需 SSL 即可通过端口 25 发送邮件

类似的帖子还有很多,不过我上面列出的方法都已经修复了。任何建议我都会非常感激。

答案1

如果邮件服务器使用无效或自签名证书,则可能需要设置allow_self_signed trueverify_peer falseverify_peer_name false上下文选项。

我不是 PHPMailer 用户。我猜你可能需要设置SMTPOptions属性。请测试这段代码(参考):

$PHPMailer->SMTPOptions = array (
    'ssl' => array (
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

相关内容