Я должен отправить электронное письмо пользователю, но письмо должно быть в формате HTML. Я читал другие сообщения здесь, но это не помогло.Форматирование HTML в сообщениях codeigniter
Вот мой код из контроллера:
public function reply_post(){
$to = $this->input->post('contact_email');
$subject = $this->input->post('contact_subject');
$header_message = "<html><head><title>".$subject."</title></head><body>";
$footer_message = "</body></html>";
$input_msg = $this->input->post('contact_reply');
$msg = $header_message.$input_msg.$footer_message;
$from = "[email protected]";
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'mail.XXXXXX.com',
'smtp_port' => XXX,
'smtp_user' => '[email protected]', // change it to yours
'smtp_pass' => 'XXXXX', // change it to yours
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'wordwrap' => TRUE
);
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from($from, "Admin"); // change it to yours
$this->email->to($to);// change it to yours
$this->email->subject($subject);
$this->email->message($msg);
if($this->email->send()){
$msg = 'Email sent.';
} else {
log_message('error','Email did not send');
$msg = "Email Did not send";
}
$this->finish($msg);
}
Сообщение, которое я получаю от формы осуществляется с помощью редактора Summernote WYSIWYG, так что уже HTML отформатирован. Однако, когда я получаю письмо, оно не применяет к нему HTML-теги, и все теги видны. Его вроде как-то почтовый тип установлен на «текст», даже после установки его в HTML в конфиге.
попробовать добавить '$ this-> email-> set_mailtype ("HTML");' – Linus
разве что уже добавлен в массиве конфигурации 'mailtype => html' – cyberrspiritt
Он сделал работу @AnmolRaghuvanshi. Не возражаете, но есть ли у вас объяснения? потому что он уже присутствовал в файле конфигурации – cyberrspiritt