1

我正在尝试发送电子邮件当我将它放在服务器上时它在本地主机上正常工作它给我警告我正在使用 codeigniter 这是代码

公共函数 send_me($from,$name,$toEmail,$subject,$msg){

    $config = Array(
        'protocol'  => 'smtp',
        'smtp_host' => 'ssl://smtp.googlemail.com',
        'smtp_port' => 465,
        'smtp_user' => 'xxxxxxxxxxx',//user name herer
        'smtp_pass' => 'xxxxxxxx', //password hre
        'mailtype'  => 'html',
        'charset'   => 'iso-8859-1',
        'wordwrap'  => TRUE
    );
    $this->load->library('email', $config);
    $this->email->set_newline("\r\n");
    $this->email->from($from,$name);
    $this->email->to($toEmail);//to address here
    $this->email->subject($subject);
    $this->email->message($msg);
    if($this->email->send())
        return true;
    else
        return false;
}

和警告是

遇到 PHP 错误

严重性:警告

消息:fsockopen() [function.fsockopen]:无法连接到 ssl://smtp.googlemail.com:465(连接超时)

文件名:库/Email.php

行号:1689 遇到 PHP 错误

严重性:警告

消息:fwrite() 期望参数 1 是资源,给定的布尔值

文件名:库/Email.php

行号:1846

4

1 回答 1

3

我已经回答了几个像这样的问题。如果您的本地电子邮件工作正常,请按照以下步骤操作:

要在 CodeIgniter 中使用 Google SMTP,您需要对您的 Gmail 帐户设置进行 2(两)次更改:(注意请注意,现在攻击者更容易侵入您的帐户 - Google 说)

  1. 启动两步验证
  2. 允许不太安全的应用程序:开(或启用)

现在使用'smtp_host'asssl://smtp.gmail.com而不是smtp.googlemail.com

希望即将到来的用户也能得到这个帮助。

于 2016-01-02T17:32:56.860 回答