过去几个小时我一直在搜索这个问题并且仍然坚持这个问题。 没有一个解决方案对我有用。 我编码的功能是在用户注册时发送邮件。它工作得很好,直到昨天,今天我看到很多问题。问题是有时邮件会被发送,有时会随机抛出错误。
当我尝试发送电子邮件时出现以下错误 -
严重性:警告
消息:fsockopen():SSL:握手 超时
文件名:libraries / Email.php
行号: 2055
Backtrace:
遇到PHP错误
严重性:警告
消息:fsockopen():无法启用 crypto
文件名:libraries / Email.php
行号: 2055
严重性:警告
消息:fsockopen():无法 连接到ssl://smtp.gmail.com:465(未知错误)
文件名:libraries / Email.php
行号:2055
真正烦人的是它不规律地来了。有时工作,他们只是停止。
以下是我用来发送电子邮件的代码 - (直到昨天才工作正常)
$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('Please verify your email address');
$body = $this->load->view('email-template/verifyemail',$data,TRUE);
$this->email->message($body);
if (!$this->email->send())
{
// show_error($this->email->print_debugger());
return false;
}
else
{
return true;
}