如何在邮件中附加 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');
        }
    );