ion auth 忘记密码 邮件帐户未收到邮件

ion auth forgot password mail not received in mail account

在 ion auth 中,我的忘记密码邮件已成功发送,但我的电子邮件帐户未收到... 我已经搜索了很多教程,但找不到任何解决方案。

请帮我解决这个问题。

我的电子邮件配置文件

$config['email_config'] = array(
    'mailtype' => 'html',
    'protocol' => 'smtp',

    'smtp_host' => 'ssl://smtp.gmail.com',
    'smtp_port' => '465',
    'smtp_user' => 'k10kevalam@gmail.com',
    'smtp_pass' => 'k10@kevalam',

);
在 ion_auth 配置中

$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';

在ion_auth.php图书馆

if ($this->email->send())
  {
             echo $this->email->print_debugger();
             $this->set_message('forgot_password_successful');
      return TRUE;
        }

显示消息:"email sent"

在我的 ion_auth.php 控制器中

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');
   }
  }
 }

我应该改变什么?

我们将不胜感激。

提前致谢...

最好的办法就是创建一个测试控制器方法来发送电子邮件以计算出正确的电子邮件设置。

创建了一个电子邮件文件并更改了 gmail 中的一些安全性... 在我的电子邮件配置文件中

<?php
$config["mailtype"] = "html";
$config["protocol"] = "smtp";
$config["smtp_host"] = "ssl://smtp.googlemail.com";
$config["smtp_user"] = "xxxx@gmail.com";
$config["smtp_pass"] = "xxxx";
$config["smtp_port"] = 465;
$config["crlf"] = "\r\n";
$config["newline"] = "\r\n";
?>

建议为电子邮件制作配置文件