Отправка почты в CodeIgniter

    Известно, что при отправке почты в CodeIgniter с использованием встроенной библиотеки email русские буквы в заголовках могут отображаться некорректно. Русский текст в заголовках сообщения необходимо кодировать вручную. У меня это реализовано так:



    $this->load->library('email');
    $this->email->reply_to($this->input->post('email'), $this->_mail_encode($this->input->post('name'), «utf-8»));
    $this->email->from($this->input->post('email'), $this->_mail_encode($this->input->post('name'), «utf-8»));
    $this->email->to($email);
    $this->email->subject($this->_mail_encode(«Сообщение с сайта test.ru», «utf-8»));
    $this->email->message($this->input->post('message'));
    $this->email->send();


    Используется метод, содержащийся в контроллере:

    function _mail_encode($text, $encoding) {
    $result = "=?".$encoding."?b?".base64_encode($text)."?=";
    return $result;
    }


    Подробнее об отправке почты из скриптов: http://habrahabr.ru/blog/webdev/32489.html
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      +2
      Кидай в блог php, или создай "CodeIgniter"
        +3
        Чем городить подобный вариант и тянуть за собой функцию во всех контроллерах, где может понадобится отправка почты, лучше перегрузить библиотеку email и добавить перекодирование в функцию reply_to: и при обновлении CI ничего не слетит, и в других проектах можно будет этот хак использовать без груза лишнего кода.
          0
          Предложил включить в ядро, посмотрим, что ответят…

          http://codeigniter.com/forums/viewthread…

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

          Самое читаемое