无法发送电子邮件 Codeigniter

Posted

技术标签:

【中文标题】无法发送电子邮件 Codeigniter【英文标题】:Unable to send Email Codeigniter 【发布时间】:2012-12-05 07:35:19 【问题描述】:

我正在尝试发送电子邮件它在本地主机上正常工作 当我把它放在服务器上时,它会给我警告 我在这里使用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(连接超时)

文件名:libraries/Email.php

行号:1689 遇到 PHP 错误

严重性:警告

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

文件名:libraries/Email.php

行号:1846

【问题讨论】:

使用 $this->email->initialize($config);而不是在加载时传递它 你能解释一下这个 raheel shan 简化其他步骤 $this->load->library('email');然后 $this->email->initialize($config);因为它在加载和传递时会产生问题 看这里ellislab.com/codeigniter/user-guide/libraries/email.html 在本地它工作时我住它它给出了相同的问题错误 【参考方案1】:

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

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

    启动两步验证允许安全性较低的应用:开启(或启用)

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

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

【讨论】:

尝试改变你的答案,而不是从你的 2 个答案中剪切和粘贴相同的答案,而不考虑 OP 细节 我是新来的。我在这里得到了很多解决方案,所以我决定定期贡献我在 SO 方面的经验。我会记住你的建议。

以上是关于无法发送电子邮件 Codeigniter的主要内容,如果未能解决你的问题,请参考以下文章

无法在 codeigniter 中正确发送电子邮件

Codeigniter 和 Mandrill api,无法发送电子邮件

CodeIgniter 无法使用 PHP mail() 发送电子邮件

无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误

无法使用 codeIgniter 从 gmail smtp 服务器发送电子邮件?

无法使用 CodeIgniter SMTP 发送 Html 邮件