Codeigniter: вложение электронной почты последних писем не очищается при отправке нескольких писем в цикле - PullRequest
13 голосов
/ 13 августа 2011

Мой код отправляет несколько писем в цикле с вложением,

Проблема в том, что вложения последних (предыдущих всех) писем прикрепляются к следующему письму.

ex.Предположим, что в базе данных есть 3 электронных письма с 1 вложением в каждом (a1.pdf, a2.pdf, a3.pdf), затем отправляется электронное письмо с вложением в виде

email 1:

attachment: a1.pdf

электронная почта 2:

вложение: a1.pdf, a2.pdf

электронная почта 3:

вложение: a1.pdf, a2.pdf,a3.pdf

Я использую платформу codeigniter.

Мой код (этот код вызывается в цикле)

.,.

$ this-> email-> subject ($ item-> subject);

        $this->email->message($message);
        $attachments='';
        if(strlen($item->attachment) > 5)
        {
            $attachments = explode(',', $item->attachment);
            foreach($attachments as $attachment)
            {
                if(strlen($attachment)>5)
                $this->email->attach(FCPATH . 'attachments/' . $attachment);                    
            }                

        }

      $this->email->send();

.,.

Ответы [ 2 ]

20 голосов
/ 13 августа 2011

Вам нужно сбросить его в CodeIgniter.

В конце цикла добавить:

$this->email->clear(TRUE);

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

15 голосов
/ 13 августа 2011

Вам нужно использовать $this->email->clear(); для очистки переменных, установленных в цикле. Прочтите руководство .

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