Форма отправителя кода не отправляется - PullRequest
1 голос
/ 06 января 2020

Я пытаюсь отправить электронное письмо из моей формы 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();
    }

}
?>

Я попытался изменить Googlemail на Gmail. Это не сработало.

1 Ответ

0 голосов
/ 07 января 2020

Используйте приведенный ниже код в другом состоянии, чтобы найти ошибку в вашем коде

 echo($this->email->print_debugger());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...