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

Posted

技术标签:

【中文标题】自过去几天以来通过gmail发送电子邮件的问题php codeigniter【英文标题】:Problems in sending email through gmail since past few days php codeigniter 【发布时间】:2018-05-18 21:45:18 【问题描述】:

我有一个工作代码,它通过 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,它正确显示为已启用。 非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

尝试使用以下配置:

$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"
);

【讨论】:

以上是关于自过去几天以来通过gmail发送电子邮件的问题php codeigniter的主要内容,如果未能解决你的问题,请参考以下文章

Gmail 阻止通过 SMTP 发送电子邮件? [复制]

问题:使用 gmail 服务器发送电子邮件

Fabric 没有从过去几天发送崩溃邮件

XAMPP 发送邮件无法正常工作

Java 通过 gmail 发送电子邮件

(Tcl) 通过 gmail 和 yahoo 邮件服务器发送电子邮件