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 身份验证错误