使用codeigniter发送邮件

时间:2014-06-01 12:33:01

标签: codeigniter email

这是我的发送电子邮件功能

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());
        }


    }

现在,当我按下发送按钮时,我收到成功消息,我的意思是我收到消息"您的电子邮件已发送"但在电子邮件收件箱中我没有收到任何消息。

2 个答案:

答案 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服务。