PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > PHP教程 > 正文

    解决升级PHP7.1后,发邮件时提示“fsockopen(): Peer certificate CN=`xxx.xx.com' did not match expected CN=`113.x.xx.98”

    作者:admin来源:网络浏览:时间:2018-04-08 22:31:37我要评论
    分享到
    导读:把项目环境升级到PHP7.1后,发现在不使用SSL时可以使用IP发邮件,可设置成SSL时就只能使用hostname发送,PHP提示的错误信息大致意思是说,I...
    把项目环境升级到PHP7.1后,发现在不使用SSL时可以使用IP发邮件,可设置成SSL时就只能使用hostname发送,PHP提示的错误信息大致意思是说,IP与hostname无法通过SSL验证,修改ci框架中Email类第2061行,结果又可以正常发邮件了,故作此记录。

    1. // 修改的代码 
    2. $ctx = stream_context_create(array
    3.     'ssl' => array
    4.         'verify_peer_name' => FALSE, 
    5.     ) 
    6. )); 
    7. $this->_smtp_connect = stream_socket_client( 
    8.     $ssl . $this->smtp_host . ':' . $this->smtp_port,  
    9.     $errno
    10.     $errstr,  
    11.     $this->smtp_timeout, 
    12.     STREAM_CLIENT_CONNECT, 
    13.     $ctx 
    14. ); 
    15.  
    16. // 注释原来的代码 
    17. // $this->_smtp_connect = @fsockopen($ssl.$this->smtp_host, 
    18. //                     $this->smtp_port, 
    19. //                     $errno, 
    20. //                     $errstr, 
    21. //                     $this->smtp_timeout); 

    !!!根据官网及多数网站建议使用hostname代替IP!!!
     

    转载请注明(B5教程网)原文链接:http://www.bcty365.com/content-10-6261-1.html
    相关热词搜索:
    网友评论: