我有一個問題,通過谷歌郵件SMTP,使用來自Codeigniter的電子郵件庫發送電子郵件。Codeigniter:無法發送電子郵件Gmail SMTP
這裏是我的控制器代碼:
<?php
class User extends CI_Controller{
function __construct(){
parent::__construct();
$this->load->model('user_model');
}
function forgot_password($user_id){
$data = $this->user_model->get_user_detail($user_id);
if(count($data) == 0){
$response["error"] = TRUE;
$response["error_message"] = "No user data was found";
}else{
$response["error"] = FALSE;
$pass = $data->user_password;
$ci = get_instance();
$ci->load->library('email');
$config['protocol'] = "smtp";
$config['smtp_host'] = "ssl://smtp.gmail.com";
$config['smtp_port'] = "465";
$config['smtp_timeout']="30";
$config['smtp_user'] = "[email protected]";
$config['smtp_pass'] = "*****";
$config['charset'] = "utf-8";
$config['mailtype'] = "html";
$config['newline'] = "\r\n";
$ci->email->initialize($config);
$ci->email->from('[email protected]', 'Name');
$list = array($user_id);
$ci->email->to($list);
$ci->email->subject('Test: Forgot Password');
$ci->email->message($pass);
if ($this->email->send()) {
echo 'Email sent!';
} else {
show_error($this->email->print_debugger());
}
}
}
}
?>
這是我的型號代碼:
<?php
class User_model extends CI_Model{
function get_user_detail($user_id){
$this->db->where("user_id", $user_id);
$query = $this->db->get('user');
return $query->row();
}
}
?>
我得到這樣那樣的錯誤,當我使用這些功能:
一個PHP錯誤遇到了
嚴重程度:警告
Message: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Filename: libraries/Email.php
Line Number: 1959
Backtrace:
File: C:\xampp\htdocs\rest_api\application\controllers\owner.php
Line: 71
Function: send
File: C:\xampp\htdocs\rest_api\index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): Failed to enable crypto
Filename: libraries/Email.php
Line Number: 1959
Backtrace:
File: C:\xampp\htdocs\rest_api\application\controllers\owner.php
Line: 71
Function: send
File: C:\xampp\htdocs\rest_api\index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): unable to connect to ssl://smtp.gmail.com:465 (Unknown error)
Filename: libraries/Email.php
Line Number: 1959
Backtrace:
File: C:\xampp\htdocs\rest_api\application\controllers\owner.php
Line: 71
Function: send
File: C:\xampp\htdocs\rest_api\index.php
Line: 292
Function: require_once
任何人都可以給我一個解決方案嗎?我感謝任何幫助:)
如果您使用本地主機,請確保您已設置了電子郵件設置像這裏WAMP和XAMPP https://www.youtube.com/watch?v=TO7MfDcM-Ho – user4419336
還要確保如果您使用CI 3將owner.php的文件名更改爲Owner.php控制器的第一個字母,並且類和文件名的模型應爲大寫。 – user4419336