打开开发环境,调试出错信息如下:
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<h4>A PHP Error was encountered</h4>
<p>Severity: Warning</p>
<p>Message: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed</p>
<p>Filename: libraries/Email.php</p>
<p>Line Number: 1975</p>
</div>
开发过程中,使用一个计划任务(每6小时调用一次),实现每月1日00:00-06:00发送一份邮件报表,调用API生成报表,并发送emai。测试人员在当前时间调用API没有发现BUG,为了测试每月1日00:00-06:00的计划任务,她将服务器时间调至7月1日,8月1日,发现8月1日时计划任务被调用,但返回发送邮件失败信息。
经过一番测试,发现修改服务器时间至明天、后天....7月5日....8月1日,7月5日之前API调用成功,7月5日之后调用API失败。后来主管建议在8月1日时,使用一个提供的测试邮件发送的功能,发现8月1日发送邮件失败。
再后来,主管建议打开开发环境,查看出错信息。发现了开头的那段信息。
打开libraries/Email.php,发现出错位置代码如下:

本文描述了在PHP环境中遇到的邮件发送失败问题,特别是在使用TLS加密时,遇到了OpenSSL错误code1的问题。通过调整服务器时间和测试,确定了问题与服务器日期设置及证书过期有关。最终通过更新curl证书解决了此问题。
最低0.47元/天 解锁文章
2786

被折叠的 条评论
为什么被折叠?



