我的项目正在使用Codeigniter和XAMPP。当我开始开发应用程序时,我已经在PC1上使用了Codeigniter的电子邮件库。一切都很顺利,但当我在电子邮件发送功能中将htdocs目录复制到PC2时,显示:
消息:fsockopen():SSL操作失败,代码为1。OpenSSL错误消息:错误:14090086:SSL例程:ssl3_get_server_certificate:证书验证失败
和
消息:fsockopen():无法启用加密
和
消息:fsockopen():无法连接到ssl://smtp.gmail.com:465(未知错误)
我觉得我的电子邮件发送功能还可以:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'asd@gmail.com',
'smtp_pass' => 'asd',
'mailtype' => 'html',
'charset' => 'utf-8'
);
$this->load->library('email', $config);
$this->email->set_newline("rn");
$this->email->from('asd@gmail.com', 'asd');
$this->email->to($c);
$this->email->subject($a);
$this->email->message($b);
$this->email->send();
我试过很多东西,但都没用。我认为问题出在证书文件上。我应该如何设置证书以及如何添加到配置文件中?请给我一份详细的手册。
几年前我就用过
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => ' user@gmail.com',
'smtp_pass' => ' pass',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
$this->load->library('email',$config);
$this->email->set_newline("rn");
$this->email->from('user@gmail.com', 'User Name');
$this->email->to('to@abc.com');
$this->email->subject('Subject');
$this->email->send();