【发布时间】:2016-11-15 21:36:12
【问题描述】:
当我运行忘记页面时,我遇到了以下问题,电子邮件检查是否工作正常,但如果电子邮件存在,则邮件发送部分会出现以下错误,而不是电子邮件发送。
User.php(控制器)
public function forgot() {
// create the data object
$data = new stdClass();
// load form helper and validation library
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
if($this->form_validation->run() == FALSE) {
// Load this page with error
$this->load->view('header');
$this->load->view('user/forgot/forgot');
$this->load->view('footer');
}else{
$email = trim($this->input->post('email'));
//$clean = $this->security->xss_clean($email);
$userInfo = $this->user_model->checkUserEmail($email);
if($userInfo) {
$this->password_to_email($email, $userInfo);
$this->load->view('header');
$this->load->view('user/forgot/password_sent', array('email' => $email));
$this->load->view('footer');
} else {
$data->error = 'We cant find your email address.';
$this->load->view('header');
$this->load->view('user/forgot/forgot', $data);
$this->load->view('footer');
}
}
}
私有函数 password_to_email($email, $firstname) { $this->load->library('email');
$from_email = "test@test.com";
$token = md5($this->config->item('salt') . $firstname);
$this->email->set_mailtype('html');
$this->email->from($from_email);
$this->email->to($email);
$this->email->message('Reset your Password');
$message = '<html><body>';
$message .= '<p>Hello '.$firstname.'</p>';
$message .= '<p>Please use following link to reset your password.<br><a href="'.base_url().'reset/reset/'.$email.'/'.$token.'"></a></p>';
$message .= '<p>Thank you!</p>';
$message .= '</body></html>';
$this->email->message($message);
$this->email->send();
}
【问题讨论】:
标签: php codeigniter email