设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 32|回复: 0

Linux centos更新php7.2版本后,由于是用高版本openssl编译可能导致无法发送邮件,php.ini证书验证ca可信解决问题

[复制链接]
 成长值: 345

签到天数: 4740 天

[LV.Master]伴坛终老

发表于 2024/12/25 20:35 | 显示全部楼层 |阅读模式 |Google Chrome 131.0.0.0|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
Linux centos更新php7.2版本后,由于是用高版本openssl编译可能导致无法发送邮件,php.ini证书验证ca可信解决问题

报错内容
The following From address failed: xxx@qq.com : Called Mail() without being connected

测试代码
  1. <?php
  2. // 打印当前 PHP 版本
  3. echo '当前 PHP 版本: ' . phpversion() . "\n";

  4. // 验证与 SSL SMTP 服务器的连接
  5. $host = 'smtphz.qiye.163.com';
  6. $port = 994;

  7. // 创建一个忽略证书验证的上下文
  8. $context = stream_context_create([
  9.     'ssl' => [
  10.         'verify_peer' => true, // true启用证书验证,改成false关闭
  11.         'verify_peer_name' => true, // true启用证书域名验证是否相同,改成false关闭
  12.     ],
  13. ]);

  14. // 使用 fsockopen 尝试连接
  15. $connection = @stream_socket_client('ssl://' . $host . ':' . $port, $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $context);

  16. if ($connection) {
  17.     echo "成功连接到 $host:$port\n";
  18.     fclose($connection); // 关闭连接
  19. } else {
  20.     echo "无法连接到 $host:$port. 错误: $errstr ($errno)\n";
  21. }
  22. ?>
复制代码


降级旧版php后发信正常

解决办法,用小于1.1.1的系统自带旧版本openssl重新编译php
或者修改网站代码,在发送邮件的代码增加忽略证书验证,要同时增加忽略域名验证是否相同
  1. 'verify_peer' => false,
  2. 'verify_peer_name' => false,
复制代码


修改发信代码后,此时新版本openssl编译的php可正常连接
1.png

参考:https://www.php.net/manual/zh/context.ssl.php

还有一种解决办法,修改php-templete.ini文件
打开网站下载cacert.pem
https://curl.se/docs/caextract.html
https://curl.se/ca/cacert.pem

把下载文件的上传到服务器/vhs/kangle/ext/tpl_php7234/cacert.pem
编辑php-templete.ini,去掉openssl.cafile前面的分号,并且修改内容如下
  1. openssl.cafile=/vhs/kangle/ext/tpl_php7234/cacert.pem
复制代码


重启kangle,在次运行测试代码,此时可以恢复ssl连接

至于产生的原因,猜测是动态链接库编译openssl引起的,有时间试试静态编译
[发帖际遇]: 小樱 在论坛发帖时没有注意,被小偷偷去了 2 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/12/26 19:48 , Processed in 0.222612 second(s), 22 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表