【问题标题】:Unable to send email in Codeigniter无法在 Codeigniter 中发送电子邮件
【发布时间】:2017-01-29 13:54:24
【问题描述】:

我正在使用 Codeigniter 从我的 PHP 脚本发送电子邮件。

我发送邮件的代码是:

// Library must be loaded first 
            $this->load->library('email');


            $config = array(
                        'protocol'      =>      'smtp',
                        'smtp_host'     =>      'smtp.gmail.com',
                        'smtp_port'     =>      587,
                        'smtp_user'     =>      'khaksar445@gmail.com',
                        'smtp_pass'     =>      'mypass'
                    );


            $this->email->initialize($config);

            $this->email->from($email, 'User');
            $this->email->to('khaksar445@gmail.com');
            $this->email->subject($sub);
            $this->email->message($body);


            if($this->email->send())
            {
                echo '<div class="alert alert-success>Email sent successfully</div>"';
            }
            else
            {
                echo $this->email->print_debugger();
            }

我得到的错误是:

无法使用 PHP SMTP 发送电子邮件。您的服务器可能不是 配置为使用此方法发送邮件。

有什么办法可以解决这个问题吗?任何帮助将不胜感激。

【问题讨论】:

  • 您需要配置您的网络服务器以发送电子邮件。
  • 但是该怎么做呢?

标签: php codeigniter sendmail


【解决方案1】:

设置你config这样..

$config = Array(
  'protocol' => 'smtp',
  'smtp_host' => 'ssl://smtp.googlemail.com',
  'smtp_port' => 465,
  'smtp_user' => 'xxx@gmail.com', // change it to yours
  'smtp_pass' => 'xxx', // change it to yours
  'mailtype' => 'html',
  'charset' => 'iso-8859-1',
  'wordwrap' => TRUE
);

【讨论】:

    【解决方案2】:

    试试sendmail

    $config['protocol'] = 'sendmail';
    $config['mailpath'] = '/usr/sbin/sendmail';
    $config['charset'] = 'iso-8859-1';
    $config['mailtype'] = 'html';
    
    $this->load->library('email');
    $this->email->initialize($config);
    
    $this->email->set_newline("\r\n");
    
    $this->email->from('khaksar445@gmail.com', 'SIte Name ');
    $this->email->to('to@address.lk');
    

    仅供参考:如果您使用 gmail,则可以。但是您无法始终跟踪实际错误。使用服务器邮件主机。如果有什么东西你知道它是一个编码问题。

    【讨论】:

    • 退出状态码:1 无法打开到 Sendmail 的套接字。请检查设置。无法使用 PHP Sendmail 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件。
    • 仍然无法发送邮件
    猜你喜欢
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 2014-02-20
    • 2013-06-15
    相关资源
    最近更新 更多