Как включить HTML в Laravel Mailable

#php #laravel

#php #ларавель

Вопрос:

Я пытаюсь отправить текст в формате HTML на электронную почту в Laravel, используя функцию отправки по почте. Когда данные отправляются, они содержат HTML-теги.

Пример

Order description <p>Lorem Ipsum is simply <b> dummy text</b> of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>

Вместо:

Order description Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

sendMail.php

 public function build()
{
    return $this->from('support@example.com')
        ->to('support@example.com')
        ->subject('Premium Article Writers') 
        ->view('invoice')
        ->text('invoice')
        ->with('data',$this->data);
}
 

Контроллер

 $data = [
    'description' => $request->description,
];
                       
Mail::to($sender)->send(new SendMail($data));
 

invoice.blade.php

 {!! $data['description'] !!}
 

Комментарии:

1. Почему ваши представления HTML и обычного текста одинаковы? Что находится в представлении?

2. @miken32 {!! $data[‘description’] !!}

3. Ну, что там $request->description ?

4. @miken32 Описание Данные, переданные из формы в контроллер

Ответ №1:

Удалите строку ->text('invoice') , которую он отправляет в текстовом формате. По умолчанию это HTML.

Комментарии:

1. Я начал с ->view('invoice') only, но он не работал, затем я добавил, что это ->text('invoice') все еще не работает

2. Проверьте заголовок получаемого вами электронного письма (в формате raw). Установлен ли заголовок ниже. Тип содержимого: текст / html Если он отправлен, возможно, настройки вашего почтового клиента переопределяют его.