Codeigniter表单电子邮件未发送

Codeigniter表单电子邮件未发送,codeigniter,gmail,contact-form,Codeigniter,Gmail,Contact Form,我正在尝试从我的codeigniter表单发送电子邮件。但我收到的是“发送邮件时出错!请稍后再试”。控制台中没有错误。这是我的控制器,有什么帮助吗 这和我的gmail帐户有什么关系吗 <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Contact extends CI_Controller { function index() { $this->load-&g

我正在尝试从我的codeigniter表单发送电子邮件。但我收到的是“发送邮件时出错!请稍后再试”。控制台中没有错误。这是我的控制器,有什么帮助吗

这和我的gmail帐户有什么关系吗

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Contact extends CI_Controller
{


    function index()
    { $this->load->library('email');
        //set validation rules
        $this->form_validation->set_rules('name', 'Name', 'trim|required|callback_alpha_space_only');
        $this->form_validation->set_rules('email', 'Emaid ID', 'trim|required|valid_email');
        $this->form_validation->set_rules('subject', 'Subject', 'trim|required');
        $this->form_validation->set_rules('message', 'Message', 'trim|required');

        //run validation on form input
        if ($this->form_validation->run() == FALSE)
        {
            //validation fails
            $this->load->view('contact');
        }
        else
        {
            //get the form data
            $name = $this->input->post('name');
            $from_email = $this->input->post('email');
            $subject = $this->input->post('subject');
            $message = $this->input->post('message');

            //set to_email id to which you want to receive mails
  $to_email = 'xxxx@xxxxxxx.com';
            $config = Array(
    'protocol' => 'smtp',
    'smtp_host' => 'ssl://smtp.googlemail.com',
    'smtp_port' => 465,
    'smtp_user' => 'xxxx@gmail.com',
    'smtp_pass' => 'xxxx',
    'mailtype'  => 'html', 
    'charset'   => 'iso-8859-1'
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");

            //$this->load->library('email', $config);
            $this->email->initialize($config);                        

            //send mail
            $this->email->from($from_email, $name);
            $this->email->to($to_email);
            $this->email->subject($subject);
            $this->email->message($message);
            if ($this->email->send())

            {
                // mail sent
                $this->session->set_flashdata('msg','<div class="alert alert-success text-center">Your mail has been sent successfully!</div>');
                redirect('contact');
            }
            else
            {
                //error
                $this->session->set_flashdata('msg','<div class="alert alert-danger text-center">There is error in sending mail! Please try again later</div>');
                redirect('contact');
            }
        }
          echo $this->email->print_debugger();
    }

}
?>

在else条件下使用以下代码查找代码中的错误

 echo($this->email->print_debugger());

在else条件下使用以下代码查找代码中的错误

 echo($this->email->print_debugger());

在配置中是否有错误消息,因为如果不设置它,它将显示实际的php错误。你在gmail上有两步认证吗?同时尝试将
'smtp\U crypto'=>'tls'
添加到配置中。@Mikeyhun-控制台中未显示任何错误。2步骤身份验证已关闭。添加配置,但没有机会:\n您在配置中是否有错误消息,因为如果不设置它,它将显示实际的php错误。你在gmail上有两步认证吗?同时尝试将
'smtp\U crypto'=>'tls'
添加到配置中。@Mikeyhun-控制台中未显示任何错误。2步骤身份验证已关闭。添加配置但没有机会:\t仍然只有不发送flash消息但控制台中没有错误。仍然只有不发送flash消息但控制台中没有错误。