Laravel 5 добавление HTML в электронную почту

В настоящее время я пытаюсь создать HTML-письмо в Laravel 5, и у меня есть текст (содержащий элементы <br/> ), который я хочу вставить в электронное письмо. Я использую следующий фрагмент кода для отправки электронной почты:

 Mail::send(array('html' => 'emails.newinvoice'), array('text' => $emailtext), function($message) use ($email, $subject, $contact_company) { $message->to($email, $contact_company)->subject($subject); }); 

Таким $emailtext переменная $emailtext содержит текст с тегами HTML. В моем emails.newinvoice макета emails.newinvoice меня есть следующее:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head></head> <body> <p>{{{ $text }}}</p> </body> </html> 

При отправке электронной почты вставленный текст в моей почте и элементы HTML в этом тексте отображаются как обычные символы, что означает, что появляется мое электронное письмо:

 test<br/>test 

Вместо

 test test 

Как я могу убедиться, что HTML-теги во вставленном тексте будут отображаться как HTML, а не как обычный текст?

Вам нужно указать ключ html в первом параметре:

 Mail::send( ['html' => 'emails.newinvoice'], ['text' => $emailtext], // ^^^^ 

Также замените блок с автоматической блокировкой {{ }} на unescaped {!! !!} {!! !!} в шаблоне:

 <p> {!! $text !!} </p> 

Вам необходимо использовать:

 {!! $text !!} 

вместо

 {{ $text }} 

Blade автоматически ускользает от любого html, если вы его явно не укажете.