博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phpmailer发送邮件出现错误:stream_socket_enable_crypto(): SSL operation failed with code 1.
阅读量:6628 次
发布时间:2019-06-25

本文共 1474 字,大约阅读时间需要 4 分钟。

如果开了调试,调试进去会看到错误提示:

 

[cpp]   
 
  1. smtp_code:"stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:\nerror:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed"  

最终提示是:Could not connect to SMTP host

 

原因是升到php5.6后默认开启验证

添加参数,去掉验证:

 

[php]   
 
  1. $mail->SMTPOptions = array(  
  2.     'ssl' => array(  
  3.         'verify_peer' => false,  
  4.         'verify_peer_name' => false,  
  5.         'allow_self_signed' => true,  
  6.     )  
  7. )  

 

 

参考文档:

http://php.net/manual/en/context.ssl.php

去掉验证:

I am unable to load a PEM that was generated with the stunnel tools. However, I am able to use PHP calls to generate a working PEM that is recognized both by stunnel and php, as outlined here:

This code fragment is now working for me, and with stunnel verify=4, both sides confirm the fingerprint. Oddly, if "tls://" is set below, then TLSv1 is forced, but using "ssl://" allows TLSv1.2:
$stream_context = stream_context_create([ 'ssl' => [
'local_cert'        => '/path/to/key.pem',
'peer_fingerprint'  => openssl_x509_fingerprint(file_get_contents('/path/to/key.crt')),
'verify_peer'       => false,
'verify_peer_name'  => false,
'allow_self_signed' => true,
'verify_depth'      => 0 ]]);
$fp = stream_socket_client('ssl://ssl.server.com:12345',
   $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $stream_context);
fwrite($fp, "foo bar\n");
while($line = fgets($fp, 8192)) echo $line;

 

http://php.net/manual/en/context.ssl.php

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
你可能感兴趣的文章
教会你如何编写makefile文件
查看>>
OA系统权限管理设计(转载)
查看>>
Xamarin.Android活动的生命周期
查看>>
完美C++(第5版)(双色)
查看>>
android 从assets和res中读取文件
查看>>
atittit.表单验证的实现方式以及原理本质以及选型以及自定义兼容easyui dsl规则的表单验证...
查看>>
myEclipse svn 插件安装
查看>>
JSP动作--JSP有三种凝视方式
查看>>
我从4年网页监控中所学到的
查看>>
validate命令---rman进行备份和回复的验证
查看>>
Android 新浪博客分享问题总结
查看>>
编程模式
查看>>
Servlet仿CSDN动态验证码的生成-带数字和字母
查看>>
HDU 1395 2^x mod n = 1
查看>>
Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决
查看>>
Dubbo应用与异常记录
查看>>
C#日期时间格式化
查看>>
[POJ 2976]Dropping tests(0-1分数规划)
查看>>
项目进阶 之 集群环境搭建(三)多管理节点MySQL集群
查看>>
安装NTFS For Mac时显示文件已损坏怎么办
查看>>