Как отправить письмо с контентом из представления в codeigniter

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

$toemail = "user@email.id"; $subject = "Mail Subject is here"; $mesg = $this->load->view('template/email'); $this->load->library('email'); $config['charset'] = 'utf-8'; $config['wordwrap'] = TRUE; $config['mailtype'] = 'html'; $this->email->initialize($config); $this->email->to($toemail); $this->email->from($fromemail, "Title"); $this->email->subject($subject); $this->email->message($mesg); $mail = $this->email->send(); 

Solutions Collecting From Web of "Как отправить письмо с контентом из представления в codeigniter"

  1. Вам нужно вызвать $this->load->library('email'); в контроллере, а также для электронной почты в CI для работы.
  2. Кроме того, в вашем коде: $fromemail не инициализируется.
  3. Вам необходимо иметь поддержку SMTP на вашем сервере.
  4. $ config должен быть объявлен как массив перед назначением значений и ключей.

Рабочий код:

 $this->load->library('email'); $fromemail="ad@c.com"; $toemail = "user@email.id"; $subject = "Mail Subject is here"; $data=array(); // $mesg = $this->load->view('template/email',$data,true); // or $mesg = $this->load->view('template/email','',true); $config=array( 'charset'=>'utf-8', 'wordwrap'=> TRUE, 'mailtype' => 'html' ); $this->email->initialize($config); $this->email->to($toemail); $this->email->from($fromemail, "Title"); $this->email->subject($subject); $this->email->message($mesg); $mail = $this->email->send(); 

Изменить: $mesg = $this->load->view('template/email',true); должно иметь истинное значение, указанное ликанианом. Установив его как true, он не отправляет данные в выходной поток, но возвращает его в виде строки.

Изменить: $this->load->view(); нужен второй параметр с данными или пустой, как $mesg = $this->load->view(view,data,true); , если нет, то он не будет работать

Эта строка $ mesg = $ this-> load-> view ('template / email', true); должно быть так
$ mesg = $ this-> load-> view ('template / email', '', true);
с одиночными кавычками до значения true, и он будет работать отлично

Отправить шаблон электронной почты В codeigniter нам нужно поставить метатег и отправить его по электронной почте

 $this->data['data'] = $data; $message = $this->load->view('emailer/create-account', $this->data, TRUE); $this->email->set_header('MIME-Version', '1.0; charset=utf-8'); $this->email->set_header('Content-type', 'text/html'); $this->email->from($email, $name); $this->email->to('emailaddres@mail.com'); $this->email->subject($subject); $this->email->message($message); $this->email->send();