无法发送电子邮件 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 和 Mandrill api,无法发送电子邮件
CodeIgniter 无法使用 PHP mail() 发送电子邮件
无法在 codeigniter 中从 gmail 发送电子邮件,SMTP 身份验证错误