Расширьте codeigniter Почтовую библиотеку

1

Я расширяю библиотеку писем CI для предложений регистрации, но когда я отправляю почту, она проходит через PHPMail, а не через SMTP-сервер, который был объявлен в config/email.php.

class MY_Email extends CI_Email {

   protected $logDir;
   private $_clr_subject = '';
   private $_clr_msg = '';

   public function __construct() {
       parent::__construct();
       $this->logDir = 'logs/mail';
   }


   function send($auto_clear = TRUE) {

       $result = parent::send(FALSE);
       //After send I will save all the log stuff
       $this->_saveLog(true);

       if ($result && $auto_clear) {
        $this->clear();
       }

    return true;
   }
   [...]
}

Итак, я знаю, что, вероятно, я делаю что-то неправильно, но я не знаю...

Любая помощь будет оценена!

  • 0
    Я не уверен, что библиотека прочитала файл конфигурации, чтобы установить что-либо, кроме кодировки, которая находится в config / config.php
  • 0
    На самом деле, если у вас есть файл конфигурации email.php вы можете сохранить настройки SMTP (или все, что вы хотите), см. Codeigniter.com/userguide3/libraries/… . Спасибо за ответ ;)
Показать ещё 2 комментария
Теги:
codeigniter

1 ответ

0
Лучший ответ

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

public function __construct(array $config = array())
{ ...

Поэтому попробуйте это для конструктора MY_Email

public function __construct(array $config = array()) {
   parent::__construct($config);
   $this->logDir = 'logs/mail';
}
  • 0
    Дааа это было то! благодарю вас!! сейчас работает на 100%

Ещё вопросы

Сообщество Overcoder
Наверх
Меню