Codeigniter 3 отправляет электронную почту без smtp

Я не получаю письмо, хотя вроде все в порядке. Может проблема с хостингом? Любое предложение будет оценено. Вот мой код

    $this->load->library('email');
    $this->email->from('[email protected]', 'Name');
    $this->email->to($seller_email);
    $this->email->subject('This is subject');
    $this->email->message('This is message!');
    $this->email->send();
    echo $this->email->print_debugger();

Функция print_debugger возвращает пустое значение. Дайте мне знать, ребята, комментарии.


person M Shahzad Khan    schedule 26.12.2015    source источник
comment
У вас нет конфигурации электронной почты. codeigniter.com/user_guide/libraries/   -  person Mr. ED    schedule 26.12.2015
comment
Что мне нужно в конфигурации? Я также попытался добавить базовую конфигурацию. Можете ли вы сказать мне, какие конфигурации необходимы для базовой отправки электронной почты?   -  person M Shahzad Khan    schedule 26.12.2015
comment
Вы используете xampp или wamp?   -  person Mr. ED    schedule 26.12.2015
comment
Если вы не используете smtp-сервер, вы вернетесь к встроенной PHP-функции mail(). Для этого требуется возможность каким-то образом отправлять электронную почту с вашего сервера, что указано в параметре sendmail_path в файле php.ini. php.net/manual/en/function.mail.php   -  person crafter    schedule 26.12.2015
comment
@crafter, я использую хостинг сетевых решений. Сможет ли mail() отправить с него без каких-либо настроек?   -  person M Shahzad Khan    schedule 26.12.2015
comment
Если в вашей ОС установлен исполняемый файл sendmail, то да. Встроенная почтовая функция PHP будет использовать (например) sendmail -f .... для отправки электронной почты.   -  person crafter    schedule 26.12.2015
comment
Я также видел вспомогательную функцию электронной почты, которая использует mail(). Я думаю, я должен попробовать это.   -  person M Shahzad Khan    schedule 26.12.2015


Ответы (1)


Идеальное решение, как показано ниже:

Шаг 1:

Загрузите PhpMailer для CodeIgniter по ссылке ниже.

https://github.com/ivantcholakov/codeigniter-phpmailer

Шаг 2:

Извлекать. Поместите папки third_party, libraries, helpers и config в папку приложения CI.

В каждой папке будут только индексные файлы, которые попросят вас заменить. Нажмите заменить и продолжить.

Шаг 3.

Открыть application/config/email.php

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

$config['protocol']         = 'smtp'; // 'mail', 'sendmail', or 'smtp'
$config['mailpath']         = '/usr/sbin/sendmail';
$config['smtp_host']        = 'smtp.gmail.com'; // if you are using gmail
$config['smtp_user']        = '[email protected]';
$config['smtp_pass']        = 'sdkfjsk089sdfskKJ'; // App specific password
$config['smtp_port']        = 465; // for gmail
$config['smtp_timeout']     = 5;  

Шаг 4:

Теперь в вашем контроллере, куда вы хотите отправить электронную почту. Используйте приведенный ниже код, и все готово.

$this->load->library('email');
$this->email->from('[email protected]')
     ->reply_to('[email protected]')
     ->to([email protected])
     ->subject("Subject")
     ->message("Your Message")
     ->set_mailtype('html')
     ->send();
person Ali Shan    schedule 26.12.2015