Отправка электронной почты codeigniter

#php #codeigniter #email #smtp #ion-auth

#php #codeigniter #Адрес электронной почты #smtp #ion-auth

Вопрос:

Я нахожусь в процессе настройки ion auth и хочу иметь возможность отправлять электронные письма для активации. Они не могут отправить.

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

в целях тестирования я повторно загрузил новую папку CI и изменил контроллер по умолчанию в routes на свой контроллер.

 $routes['default_controller']='Email';
  

Мой контроллер

 <?php


class Email extends CI_Controller{

public function index(){

$data['title']='sent';

$this->load->view('sending_email',$data);
}

public function send(){
$this->load->library('email');
$this->email->initialize($config);

$this->email->from('MYEMAIL@EMAIL.COM', 'phpnoob');
$this->email->to('TESTEMAIL@EMAIL.COM');


$this->email->subject('Hey');
$this->email->message('Testing the email');

$this->email->send();

echo "this email is sent";
}


}

?>
  

В моей папке конфигурации я создал файл с именем email также для загрузки конфигураций.

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

$config['protocol']='smtp';
$config['smtp_host']='ssl://smtp.googlemail.com';
$config['smtp_port']=465;
$config['smtp_user']='MYEMAIL@EMAIL.COM';
$config['smtp_pass']='XXPASSXX';
$config['mailtype']= 'html';
$config['priority']=4;
$config['charset']='utf-8';


?>
  

Теперь я замечаю, что когда я пытаюсь удалить функцию index, я вообще не могу загрузить контроллер. Я не знаю почему. Даже если я пытаюсь вызвать контроллер и метод, я получаю ошибку 404.

Также это не на моем локальном хостинге, и у меня есть действующий сервер, поскольку почта, похоже, никогда не работает на локальном хостинге.

Ответ №1:

Убедитесь, что в учетной записи Google, через которую вы пытаетесь отправить почту, включены менее защищенные приложения:https://support.google.com/accounts/answer/6010255?hl=en

Также вы можете повторить вывод из $this-> email->print_debugger(), чтобы получить более подробное сообщение об ошибке.

Комментарии:

1. Спасибо, что рассказали мне об отладчике.