Codeigniter 显示 GMail 的 OpenSSL 错误

Posted

技术标签:

【中文标题】Codeigniter 显示 GMail 的 OpenSSL 错误【英文标题】:Codeigniter shows OpenSSL error whith GMail 【发布时间】:2016-04-06 17:11:17 【问题描述】:

我有两个环境。一台电脑和一台笔记本电脑。 我在 PC 上开发了应用程序,发送电子邮件功能运行良好,但在笔记本电脑上它会引发 fsockopen() 错误。

消息:fsockopen():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:ssl3_get_server_certificate:certificate verify failed

我的代码:

$config = Array(
        'protocol'  => 'smtp',
        'smtp_host' => 'ssl://smtp.gmail.com',
        'smtp_port' => 465,
        'smtp_user' => 'email@gmail.com',
        'smtp_pass' => 'password',
        'mailtype'  => 'html',
        'charset'   => 'utf-8'
    );

    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");

    $this->email->from('email@gmail.com', 'email');
    $this->email->to($a);

    $this->email->subject($b);
    $this->email->message($c);

    $this->email->send();

我认为XAMPP版本是一样的,我检查了php.ini文件,extension=php_openssl.dll没有注释。

我做错了什么?

【问题讨论】:

【参考方案1】:

你需要在php.ini中设置openssl.cafile

我刚刚下载了XAMPP,查了一下,好像在/xampp/perl/vendor/lib/Mozilla/CA/cacert.pem

你的 php.ini 需要包含一行如openssl.cafile = C:\path\to\xampp\perl\vendor\lib\Mozilla\CA\cacert.pem

【讨论】:

您应该尝试一下以确保。 openssl.cafile = C:\xampp\perl\vendor\lib\Mozilla\CA\cacert.pem 同样的错误... :(

以上是关于Codeigniter 显示 GMail 的 OpenSSL 错误的主要内容,如果未能解决你的问题,请参考以下文章

使用gmail,codeigniter,wamp localhost发送邮件

使用 Gmail 在 codeigniter 中通过电子邮件类发送电子邮件

Gmail API 是不是支持没有 SMTP 的 Codeigniter?

无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误

无法使用 codeIgniter 从 gmail smtp 服务器发送电子邮件?

自过去几天以来通过gmail发送电子邮件的问题php codeigniter