如何在codeigniter中的localhost xampp上发送电子邮件?

时间:2018-02-22 08:25:25

标签: php codeigniter

我尝试使用codeigniter在localhost xampp上发送电子邮件。 我在xampp中修改了php.ini和sendemail.ini文件,按照指南进行操作。 我的codeigniter代码如下。



public function send_mail() {

        $config['useragent'] = 'CodeIgniter';
        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_port'] = '587';
        $config['smtp_user'] = '****@gmail.com';
        $config['smtp_pass'] = '****';
        $config['smtp_timeout'] = 5;
        $config['wordwrap'] = TRUE;
        $config['wrapchars'] = 76;
        $config['mailtype'] = 'html';
        $config['charset'] = 'utf-8';
        $config['validate'] = FALSE;
        $config['priority'] = 3;
        $config['crlf'] = "\r\n";
        $config['newline'] = "\r\n";
        $config['bcc_batch_mode'] = FALSE;
        $config['bcc_batch_size'] = 200;
        $this->load->library('email', $config);

        $from_email = "csharpdev0423@gmail.com";
        $to_email = $this->input->post('email');
        //Load email library
        $this->load->library('email');
        $this->email->initialize($config);
        //$this->load->library('email', $config);
        $this->email->from($from_email, 'Identification');
        $this->email->to($to_email);
        $this->email->subject('Send Email Codeigniter');
        $this->email->message('The email send using codeigniter library');
        //Send mail
        if($this->email->send())
            $this->session->set_flashdata("email_sent","Congragulation Email Send Successfully.");
        else
            $this->session->set_flashdata("email_sent","You have encountered an error");
        $this->load->view('contact_email_form');
    }
    
    



 但它有以上错误。

  

遇到PHP错误   严重性:警告

     

消息:fsockopen():SSL操作失败,代码为1. OpenSSL错误消息:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议

     

文件名:libraries / Email.php

     

行号:2055

1 个答案:

答案 0 :(得分:0)

您可以更改以下电子邮件配置数组。

<?php 
// change hostname
$config['smtp_host'] = 'smtp.gmail.com';

// change stmp port number
$config['smtp_port'] = '465';

// add smtp_crypto
$config['smtp_crypto'] = 'ssl';


// Change charset
$config['charset'] = 'iso-8859-1';

?>

希望它会有所帮助。