Я пытаюсь настроить функцию электронной почты для моего проекта Laravel.Я выполнил все настройки, класс Mailable, Mailgun, контроллер для отправки почты и т. Д.
Я просмотрел документацию по почте Laravel и попытался сделать, как было предложено, с помощью шаблона лезвия.за мою почту и т. д.
Дело в том, что мои клиенты собираются создавать свои собственные письма с помощью редактора WYSIWYG, поэтому я не могу просто создавать почтовые шаблоны в blade.php.Я хочу получить почтовый контент из базы данных, а затем вставить его в блейд-файл, с которым мне удалось справиться.
Но, скажем, почтовый контент имеет вид "Hello {{$ name}}msgstr ", когда я получаю это из базы данных и вставляю его в шаблон блейда, отправляемое сообщение на устном языке говорит" Hello {{$ name}} "вместо" Hello John Doe ".Я отправляю $ name в моем классе Mailable, в функции сборки.
class Confirmation extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(Customer $customer, Mail $mail_content)
{
$this->customer = $customer;
$this->mail_content = $mail_content;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from('noreply@example.com')
->with([
'name' => $this->customer->name,
'content' => $this->mail_content->content,
])
->subject('Confirmation')
->view('emails.test');
}
}
Так что, если бы содержимое было «Hello {{$ name}}», я бы хотел, чтобы имя из функции сборки былозаменить {{$ name}} в содержании.Но поскольку он поступает из базы данных, он, очевидно, не обрабатывается так же, как если бы я просто написал «Hello {{$ name}}» в файле представления.
Мой шаблон blade-сервера выглядит следующим образом:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Confirmation mail</title>
</head>
<body>
{!! $content !!}
</body>
Есть предложения?Я надеюсь, что это имеет смысл для кого-то там: D