这是我的发送电子邮件功能
public function send_requs_mail()
{
$this->load->library('email');
$config=array(
'protocol' => 'smtp',
'smtp_host' =>'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_user' => 'xxxxxxx@gmail.com',
'smtp_pass' => 'yyyyyy'
);
$this->email->set_newline("\r\n");
$this->email->initialize($config);
$this->email->from($this->input->post('from'), 'iftekhar');
$this->email->to($this->input->post('to'));
$this->email->subject('Email Test');
$this->email->message($this->input->post('message'));
if($this->email->send())
{
echo'your email was sent.';
}
else
{
show_error($this->email->print_debugger());
}
}
现在,当我按下发送按钮时,我收到成功消息,我的意思是我收到消息"您的电子邮件已发送"但在电子邮件收件箱中我没有收到任何消息。
答案 0 :(得分:0)
检查$this->input->post('from')
和$this->input->post('to')
是否返回有效的电子邮件地址,否则不会发送电子邮件!
答案 1 :(得分:0)
使用此$config
数组
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'smtp.gmail.com',
'smtp_port' => 465,
'smtp_crypto' => 'ssl',
'smtp_user' => 'your mail',
'smtp_pass' => 'your password',
'mailtype' => 'html',
'charset' => 'iso-8859-1'
);
并安装SSL
首先看看你的php.ini文件中是否有open-ssl扩展名,如果没有,那么将下面的代码放在扩展部分的ini文件中。
延长= php_openssl.dll
重启Apache服务。