我尝试使用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
答案 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';
?>
希望它会有所帮助。