In ion auth my forgot password mail sent successfully but not received in my email account... I have searched many tutorials but can't find any solution.
Please Help me to solve this.
my email config file
$config['email_config'] = array(
'mailtype' => 'html',
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.gmail.com',
'smtp_port' => '465',
'smtp_user' => '[email protected]',
'smtp_pass' => 'k10@kevalam',
);
$config['use_ci_email'] = TRUE; // Send Email using the builtin CI email class, if false it will return the code and the identity
$config['email_config'] = 'file';
in ion_auth.php library
if ($this->email->send())
{
echo $this->email->print_debugger();
$this->set_message('forgot_password_successful');
return TRUE;
}
display message :"email sent"
in my ion_auth.php controller
function forgot_password()
{
{
$this->form_validation->set_rules('email', $this->lang->line('forgot_password_username_identity_label'), 'required');
}
else
{
$this->form_validation->set_rules('email', $this->lang->line('forgot_password_validation_email_label'), 'required|valid_email');
}
if ($this->form_validation->run() == false)
{
//setup the input
$this->data['email'] = array('name' => 'email',
'id' => 'email',
);
if ( $this->config->item('identity', 'ion_auth') == 'username' ){
$this->data['identity_label'] = $this->lang->line('forgot_password_username_identity_label');
}
else
{
$this->data['identity_label'] = $this->lang->line('forgot_password_email_identity_label');
}
//set any errors and display the form
$this->data['message'] = (validation_errors()) ? validation_errors() : $this->session->flashdata('message');
$this->_render_page('auth/forgot_password', $this->data);
}
else
{
// get identity from username or email
if ( $this->config->item('identity', 'ion_auth') == 'username' ){
$identity = $this->ion_auth->where('username', strtolower($this->input->post('email')))->users()->row();
}
else
{
$identity = $this->ion_auth->where('email', strtolower($this->input->post('email')))->users()->row();
}
if(empty($identity)) {
if($this->config->item('identity', 'ion_auth') == 'username')
{
$this->ion_auth->set_message('forgot_password_username_not_found');
}
else
{
$this->ion_auth->set_message('forgot_password_email_not_found');
}
$this->session->set_flashdata('message', $this->ion_auth->messages());
redirect("auth/forgot_password", 'refresh');
}
//run the forgotten password method to email an activation code to the user
$forgotten = $this->ion_auth->forgotten_password($identity->{$this->config->item('identity', 'ion_auth')});
if ($forgotten)
{
//if there were no errors
$this->session->set_flashdata('message', $this->ion_auth->messages());
redirect("auth/login", 'refresh'); //we should display a confirmation page here instead of the login page
}
else
{
$this->session->set_flashdata('message', $this->ion_auth->errors());
redirect("auth/forgot_password", 'refresh');
}
}
}
What should i change.?
Your Help would Be Appreciated.
Thanks in Advance...
The best thing to do is just to create a test controller method that sends an email to work out the proper email settings.