【问题标题】:sending mail using codeigniter使用 codeigniter 发送邮件
【发布时间】:2014-06-01 12:33:01
【问题描述】:

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

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


    }

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

【问题讨论】:

  • 请隐藏您的 smtp 凭据。
  • 您是否尝试在 else 之外调用 print_debugger?这样它无论如何都会打印出来。也许它会告诉你一些未知的信息

标签: codeigniter email


【解决方案1】:

检查$this->input->post('from')$this->input->post('to')是否返回有效的邮箱地址,否则不会发送邮件!

【讨论】:

    【解决方案2】:

    使用这个$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 服务。

    【讨论】:

      猜你喜欢
      • 2015-08-02
      • 2012-02-24
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      相关资源
      最近更新 更多