我有一个正在运行的代码,它通过Codeigniter上的email-> send函数发送电子邮件。 从昨天开始,这段代码就停止了工作。
以下是我正在使用的代码
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.gmail.com',
'smtp_port' => 465,
'smtp_user' => 'xxxx@gmail.com',
'smtp_pass' => 'xxxx',
'mailtype' => 'html',
'charset' => 'utf-8',
'smtp_crypto' => "ssl"
);
$data = array(
'userName'=> $firstName,
'link'=>$url
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->set_mailtype("html");
$this->email->from('finstlerforum@gmail.com', 'Finstler Support');
$this->email->to($email);
$this->email->subject('Reset Password requested');
$body = $this->load->view('email-template/forgotpassword',$data,TRUE);
$this->email->message($body);
if (!$this->email->send())
{
// show_error($this->email->print_debugger());
return false;
}
else
{
return true;
}
我从昨天起收到以下错误
严重性:警告消息:fsockopen():SSL:握手超时 文件名:libraries / Email.php行号:2055
消息: fsockopen():无法启用加密
消息:fsockopen():无法 连接到ssl://smtp.gmail.com:465(未知错误)
我在我的机器上启用了openssl,它正确显示为已启用。 任何帮助都非常感谢!
答案 0 :(得分:0)
尝试使用以下配置:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.gmail.com',
'smtp_port' => 587,
'smtp_user' => 'xxxx@gmail.com',
'smtp_pass' => 'xxxx',
'mailtype' => 'html',
'charset' => 'utf-8',
'smtp_crypto' => "tls"
);