邮件未发送/删除 php codeigniter

Mail not sending/ delever php codeigniter

我正在尝试将忘记的密码 link 发送到 gmail。但无法获得成功。

这是我的小代码。我在这里有我的配置文件。如果需要任何更改,请提出建议。我正在使用两个 Gmail 帐户将邮件从一个 Gmail 帐户发送到另一个 Gmail 帐户。

这是我的配置文件email.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$config = Array(
         $config['protocol']    = 'smtp',
        $config['smtp_host']    = 'ssl://smtp.gmail.com',
        $config['smtp_port']    = '465',
        $config['smtp_timeout'] = '7',
        $config['smtp_user']    = 'xyz@gmail.com',
        $config['smtp_pass']    = '123',
        $config['charset']    = 'utf-8',
        $config['newline']    = "\r\n",
        $config['mailtype'] = 'text', // or html
        $config['validation'] = TRUE // bool whether to validate email or not 
    );

这是我的投递邮件代码。

if($this->form_validation->run())
            {
                //echo 1;
                //echo validation_errors();
                $this->load->library('email');
                $reset_key = md5(uniqid());             
                $this->load->model('User_Model');
                if($this->User_Model->update_reset_key($reset_key))
                {                   

                    $this->email->from('xyz@gmail.com', 'data-+-');
                    $this->email->to($this->input->post('email'));
                    $this->email->subject('Reset you account password at Mahesh Makwana');
                    $message = "<p><h4>You or someone request to reset your password.</h4></p>";
                    $message.="<a href='".base_url(). "reset_password/".$reset_key."'>Click here to reset your password</a>";
                    $this->email->message($message);
                        if($this->email->send())
                        {
                            echo 'Kindly check your email '.$this->input->post('email').' to reset your password';
                        }
                        else
                        {
                            echo 'Cannot send email! Kindly contact to our customer service to help you.!';
                        }
                    }
                    else{
                        echo 1;
                    }
                }
                else
                {
                    //echo 0;
                    //echo validation_errors();
                    $this->load->view('include/forgetpassword');
                }

你的代码没有问题。可能是因为 google 安全。登录您的帐户后,尝试在 google 帐户设置中允许 'Less secure apps' 访问

https://www.google.com/settings/security/lesssecureapps

管理您的配置设置如下:

        $config['protocol']    = 'smtp';
        $config['smtp_host']    = 'ssl://smtp.gmail.com';
        $config['smtp_port']    = '465';
        $config['smtp_timeout'] = '7';
        $config['smtp_user']    = 'xyz@gmail.com';
        $config['smtp_pass']    = 'xxxxx';
        $config['charset']    = 'utf-8';
        $config['newline']    = "\r\n";
        $config['mailtype'] = 'text' // or html
        $config['validation'] = TRUE; // bool whether to validate email or not 

然后在加载 email 库后使用 $this->email->initialize($config);

设置配置
$this->load->library('email');
$this->email->initialize($config);