无法发送电子邮件Codeigniter

时间:2012-12-18 05:57:49

标签: codeigniter ssl smtp sendmail

我正在尝试发送电子邮件它正确地在localhost上工作 当我把它住在服务器上时,它会给我警告 我在这里使用codeigniter是代码

public function 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(连接超时)

文件名:libraries / Email.php

行号:1689 遇到PHP错误

严重性:警告

消息:fwrite()期望参数1为资源,布尔值为

文件名:libraries / Email.php

行号:1846

1 个答案:

答案 0 :(得分:3)

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

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

  
      
  1. 启用两步验证
  2.   
  3. 允许安全性较低的应用:开启(或启用)
  4.   

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

希望即将到来的用户也可以获得此帮助。