код отправки электронной почты показывает ошибку в codeigniter - PullRequest
1 голос
/ 28 июля 2011

Это код отправки электронного письма

function send_letter()

    {

        $description =  $this->input->post('description',true);

        $this->load->model('newsletter_model');

        $this->data['mail_list'] = $this->newsletter_model->getmaillist();

        $this->email->from('ashitha10@gmail.com', 'Imageinit');

        $this->email->subject('Email Test');

        $this->email->message($description);

        foreach($this->data['mail_list'] as $val)

        {

            $this->email->set_newline("\r\n");

            $this->email->to($val['emailid']);

            $this->email->send();

        }  


        $this->index();

    }

Письмо успешно отправлено на все emailid. Но тема, как "nosubject"

Также ошибка показывает

Безопасность: Уведомление

Сообщение: неопределенный указатель: тема

FileName: библиотеки / email.php

Номер строки: 941

содержимое в строке 941 в email.php равно

if ($this->protocol == 'mail')

        {

            $this->_subject = $this->_headers['Subject'];

            unset($this->_headers['Subject']);
        }

Ответы [ 2 ]

1 голос
/ 28 июля 2011

Очевидно, что код unset s заголовка Subject находится в методе _write_headers, который вызывается из _build_message, который вызывается из send. Поэтому каждый раз, когда вы вызываете send с mail в качестве бэкэнда, ваша тема стирается (но первое письмо в порядке, поскольку тема сохраняется в $this->_subject, но при следующем вызове она также перезаписывается пустой строкой).

Это похоже на ошибку в email.php, но в качестве обходного пути вы можете просто установить тему в каждой итерации цикла (так что просто перемещайте $this->email->subject('Email Test'); внутри foreach -loop, возможно после to -Call).

0 голосов
/ 29 декабря 2014

Используйте этот код

функция send_letter ()

{

    $description =  $this->input->post('description',true);

    $this->load->model('newsletter_model');

    $this->data['mail_list'] = $this->newsletter_model->getmaillist();



    foreach($this->data['mail_list'] as $val)

    {

        $this->email->from('ashitha10@gmail.com', 'Imageinit');

        $this->email->subject('Email Test');

        $this->email->message($description);


        $this->email->set_newline("\r\n");

        $this->email->to($val['emailid']);

        $this->email->send();

    }  


    $this->index();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...