关于网站搬家后,评论邮件通知发送失败报错的问题(openssl的问题)
· 技术积累 · PHP ubuntu openssl

由于是从centos7换到ubuntu22,系统环境用起来多少还是有点问题的,既然出现了就解决它

原因还是在于之前的openssl问题 Ubuntu 22.04 源码编译安装 PHP7.4 使用OpenSSL1.1.1版本

网站整体打包搬家后,PHP版本和openssl版本问题已经解决了,过了几天才发现还有问题,就是我博客评论通知插件不能发送邮件通知了
在原来的centos7上面一直都是好的,我又检查了下php的openssl和socket扩展和版本,也都没问题,我看插件里面使用sokcet和curl两种方式通过异步发送邮件,默认是socket方式,一直提示SOCKET错误,我把socket方式禁用下,只用curl方式就可以正常发送评论通知

CommentToMail v2.0.1插件,发送记录的日志报错

开始发送请求:https://me.jinchuang.org/action/comment-to-mail?send=wv8Awed
SOCKET错误,:

PHP日志中的警告信息

PHP Warning:  fsockopen(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

我原本使用的腾讯企业邮箱,插件界面邮件测试是可以发送成功的(估计没用插件里面写的socket方法),但是评论通知发送邮件这个就一直失败。天真的以为是使用腾讯企业邮箱问题,于是更换了qq邮箱、阿里云企业邮箱测试都一样发送失败

在github上找到了相关的内容 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure,于是就测试验证下openssl 和smtp服务器的连接加密认证

使用openssl命令测试证书命令:echo QUIT | openssl s_client -connect smtp.exmail.qq.com:465
发现问题了:Verify return code: 20 (unable to get local issuer certificate) 无法获取本地颁发者证书

关于网站搬家后,评论邮件通知发送失败报错的问题(openssl的问题)

也就是我服务器上,验证不了远端的证书信息,然后就失败了,根据报错代码找到了文章:centso7 openssl 报错Verify return code: 20 (unable to get local issuer certificate),是因为我安装的openssl版本找不到本机的证书目录导致的

解决方法:一条软链接命令,把系统的证书目录链接到我安装的openssl目录下(也就是php使用的openssl版本)

ln -s /etc/ssl/certs/ /opt/openssl/

关于网站搬家后,评论邮件通知发送失败报错的问题(openssl的问题)

关于网站搬家后,评论邮件通知发送失败报错的问题(openssl的问题)

评论测试,邮件也正常发送了

关于网站搬家后,评论邮件通知发送失败报错的问题(openssl的问题)

关于网站搬家后,评论邮件通知发送失败报错的问题(openssl的问题)


本文最后更新时间 2023-06-12
文章链接地址:
https://me.jinchuang.org/archives/1419.html
本站文章除注明[转载|引用],均为本站原创内容,转载前请注明出处
Ubuntu ssh登录提示信息修改
typecho博客根据时间自动切换主题配色
ubuntu 默认的dash 切换为 bash
Ubuntu 22.04 源码编译安装 PHP7.4 使用OpenSSL1.1.1版本

使用腾讯云CDN的SDK 用脚本去刷新URL缓存

我的 BBK 6S F21 手机三部曲

留言列表

  1. Awking
    Windows 10 Google Chrome
    中国上海市虹口区电信

    评论测试

    1. Awking
      Windows 10 Google Chrome
      中国上海市虹口区电信

      回复测试

我要留言