如何在邮件中附加 Laravel blade 视图
How to attach a Laravel blade view in mail
我试图在发送邮件时附加 blade 视图。我正在使用 Laravel 4。我试过这个:
Mail::send(
"emails.clientEmail",
$data,
function($message) use ($data,$template,$subject) {
$message->to($data['email'], $data['name'])
->from($template['from'],$template['from_name'])
->subject($subject)
->attach(app_path().'/views/email.blade.php');
}
);
但我的视图 email.blade.php
在 blade 模板中,它不显示 html 而是代码。
如何发送并显示为html?
正如您提到的,您可以使用 attachData
并添加渲染数据,例如:
$renderedData = view('email')->render();
Mail::send(
"emails.clientEail",
$data,
function($message) use ($data,$template,$subject) {
$message->to($data['email'], $data['name'])
->from($template['from'],$template['from_name'])
->subject($subject)
->attachData($renderedData, 'name_of_attachment');
}
);
我试图在发送邮件时附加 blade 视图。我正在使用 Laravel 4。我试过这个:
Mail::send(
"emails.clientEmail",
$data,
function($message) use ($data,$template,$subject) {
$message->to($data['email'], $data['name'])
->from($template['from'],$template['from_name'])
->subject($subject)
->attach(app_path().'/views/email.blade.php');
}
);
但我的视图 email.blade.php
在 blade 模板中,它不显示 html 而是代码。
如何发送并显示为html?
正如您提到的,您可以使用 attachData
并添加渲染数据,例如:
$renderedData = view('email')->render();
Mail::send(
"emails.clientEail",
$data,
function($message) use ($data,$template,$subject) {
$message->to($data['email'], $data['name'])
->from($template['from'],$template['from_name'])
->subject($subject)
->attachData($renderedData, 'name_of_attachment');
}
);