我正在尝试发送电子邮件它正确地在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
答案 0 :(得分:3)
我已经回答了几个这样的问题。如果您的本地电子邮件工作正常,请按照以下步骤操作:
要在CodeIgniter中使用Google SMTP,您需要对Gmail帐户设置进行两(2)次更改:(请注意,攻击者现在更容易侵入您的帐户 - Google) / em>的
- 启用两步验证。
- 允许安全性较低的应用:开启(或启用)
醇>
现在使用'smtp_host'
作为ssl://smtp.gmail.com
而不是smtp.googlemail.com
希望即将到来的用户也可以获得此帮助。