I am trying to implement forgot password functionality into codeigniter but I face some issue like this someone, please help me to solve this. Also when I change the protocol to mail than it's give me one another error that,
Unable to send email using PHP mail(). Your server might not be configured to send mail using this method.
Complete error is as below.
A PHP Error was encountered
Severity: Warning
Message: fsockopen(): unable to connect to ssl://smtp.gmail.com:25 (Connection timed out)
Filename: libraries/Email.php
Line Number: 2069
The following SMTP error was encountered: 110 Connection timed out
Unable to send email using PHP SMTP. Your server might not be configured to send mail using this method.
Date: Thu, 14 Feb 2019 10:52:06 +0100
From: "arazu" <arazugajera98@gmail.com>
Return-Path: <arazugajera98@gmail.com>
To: arazugajera98@gmail.com
Subject: =?UTF-8?Q?Reset=20your=20passwrod?=
Reply-To: <arazugajera98@gmail.com>
User-Agent: CodeIgniter
X-Sender: arazugajera98@gmail.com
X-Mailer: CodeIgniter
X-Priority: 3 (Normal)
Message-ID: <5c653a46009bc@gmail.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="B_ALT_5c653a46009c6"
This is a multi-part message in MIME format.
Your email application may not support this format.
--B_ALT_5c653a46009c6
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Click Here if you want to reset your password
--B_ALT_5c653a46009c6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
=3Ca href=3D'http://127.0.0.1/CodeIgniter/login/reset=5Fpassword/a5ea8860b0=
5acc175d4c1847fab1f2ee'=3EClick Here=3C/a=3E if you want to reset your pass=
word
--B_ALT_5c653a46009c6--
My forgot_password() code part is as follows.
public function forgot_password(){
$this->load->library('form_validation');
$this->form_validation->set_rules('email','email','trim|required|valid_email');
if($this->form_validation->run() == FALSE){
echo "please enter email";
$this->load->view('recover_password');
}
else{
$email = $this->input->post('email');
$result = $this->registration_model->email_exists($email);
if($result == TRUE){
$temp_pass=md5(uniqid());
$email_config = array(
'smtp_host'=>'localhost',
'smtp_user'=>'arazugajera98@gmail.com',
'smtp_pass'=>'*******',
'smtp_port'=>25,
'charset' => 'utf-8',
'protocol'=>'smtp',
'mailtype'=>'html'
);
$this->load->library('email');
$this->email->initialize($email_config);
$this->email->set_newline('\r\n');
$this->email->from('arazugajera98@gmail.com','arazu');
$this->email->to($this->input->post('email'));
$this->email->subject('Reset your passwrod');
$message = "this email is sent you to reset your password";
$message = "<a href='".base_url()."login/reset_password/$temp_pass'>Click Here</a> if you want to reset your password";
$this->email->message($message);
$this->email->set_newline("\r\n");
if($this->email->send()){
echo "hello"; exit();
if($this->registration_model->temp_reset_password($temp_pass)){
echo 'check your for instruction, thank you';
}
}
else{
//echo "email is not sent, please contact your administrator";
echo $this->email->print_debugger();
}
}else{
echo "your email is not exists into database";
}
}
}
How I send email in Codeigniter on localhost?