функция электронной почты codeigniter не работает нормально при отправке нескольких электронных писем с вложениями

Вот код для отправки нескольких писем с вложением. Цикл был запущен только 1-й раз. Поэтому он отправлял письмо 1-му человеку, а все остальные не получали почту. Вот мой код. Так как я работаю Начиная с 2-х дней. Но я не понял, где совершил ошибку. Надеюсь, сейчас самое время учиться у вас, ребята. Вот мой код.

<?php
foreach ($ids as $key => $value)
{
$where['applicant_id']=$value;
$this->db->trans_start();
$this->db->where($where);
$result=$this->db->get('applicant');
if($this->db->trans_status() === FALSE)
{
$this->db->trans_rollback();
}
else
{
$check++;
$array=$result->row_array();
$this->db->trans_complete(); $update_data[$key]=array('applicant_id'=>$array['applicant_id'],'status'=>'SHORTLISTED');
$subject='Congratualations You Had Short Listed For Singing Competition';

$array['title']='Admitcard';
$data=$array;

$this->email->set_mailtype('html');
$this->email->from('xxx@gmail.com','xxxcompetations');
$this->email->to($array['email']);
$this->email->bcc('xxx51@gmail.com');
$this->email->subject($subject);
$this->email->message($message);
$this->pdf->load_view('admitcard',$data);
$name=random_string('alnum', 9);
$this->pdf->render();
$pdf = $this->pdf->output(); //$this->pdf->stream($name.".pdf");
file_put_contents("pdf/$name".".pdf", $pdf);
$this->email->attach("pdf/$name".".pdf");
$this->email->send();
$this->email->clear(TRUE);
$ecount++;
}
}

?>

————————это ошибка, которую я получаю, как это преодолеть ———-

Неустранимая ошибка: необработанное исключение «DOMPDF_Exception» с сообщением «Не найден родительский уровень на уровне блока. Нехорошо.’ в /home/mycityon/public_html/navy/application/libraries/dompdf/include/inline_positioner.cls.php:38 трассировки стека: # 0 /home/mycityon/public_html/navy/application/libraries/dompdf/include/frame_decorator.cls .php (546): Inline_Positioner-> position () # 1 /home/mycityon/public_html/navy/application/libraries/dompdf/include/inline_frame_reflower.cls.php(37): Frame_Decorator-> position () # 2 / home /mycityon/public_html/navy/application/libraries/dompdf/include/frame_decorator.cls.php(556): Inline_Frame_Reflower-> reflow (NULL) # 3 / home / mycityon / public_html / navy / application / library / dompdf / include / page_frame_reflower.cls.php (138): Frame_Decorator-> reflow () # 4 /home/mycityon/public_html/navy/application/libraries/dompdf/include/frame_decorator.cls.php(556): Page_Frame_Reflower-> reflow N) # 5 /home/mycityon/public_html/navy/application/libraries/dompdf/include/dompdf.cls.php(817): Frame_Decorator-> reflow () # 6 / home / mycityon / public_ in / home / mycityon / public_html / темно-синий / приложения / библиотеки / DOMPDF / вкл ude / inline_positioner.cls.php в строке 38

0

Решение

Поскольку я не знаю, в чем именно ошибка, вот общее решение

 $this->load->library('email');
$this->email->from('noreply@example.com', 'Example');
$this->email->to('to@example.com');
$this->email->subject('Subject Goes Here');
$this->email->message('Message goes here');
$this->email->attach('Path/to/saved/filename.pdf');
$this->email->send();

в Параметры могут также принимать массивы. Так что вы можете отправить нескольким получателям одновременно. Если вы хотите отправить каждое электронное письмо отдельно, не скрывая информацию о других получателях, заключите ее в циклы foreach как таковые:

foreach($emails as $recipient){
$this->email->from('noreply@example.com', 'Example');
$this->email->to('to@example.com');
$this->email->subject('Subject Goes Here');
$this->email->message('Message goes here');
$this->email->attach('Path/to/saved/filename.pdf');
$this->email->send();
}

надеюсь, это поможет

Вы можете получить список кандидатов следующим образом:

$query = $this->db->get('table_name'); // This will get all rows in your applicant table.
$result = $query->result();
echo "<pre>"; print_r($result); die(); // Will print all applicants in your table.

Затем вы можете обработать его в рамках цикла foreach.

0

Другие решения

Я полагаю, что исправление состоит в том, чтобы восстановить экземпляр dompdf. Смотрите следующее, DOMPDF, я не могу создать два PDF одновременно

0