使用 Laravel 发送 HTML 电子邮件模板

Dan*_*elo 2 php html-email email-templates laravel-5.2

我创建了一个名为 dummy.blade.php 的文件,其中包含以下代码

<!DOCTYPE html>
 <html lang="en-EN">
  <head>
    <meta charset="utf-8">
  </head>
  <body bgcolor="#11C9FF">
   {{$emailBody}}
  </body>
 </html>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下方法发送 HTML 内容:

 Mail::send('emailTemplates.dummy', ['emailBody'=>'<h1>TESTING</h1>'], function($message)
 {
 $message->to($myEmail)->subject('Password reset');
 });
Run Code Online (Sandbox Code Playgroud)

收到的邮件是这样的:

在此处输入图片说明

根据文档,我应该收到 html 格式,但我收到的是基于简单文本的电子邮件。有什么线索吗?

小智 5

双花括号对其中的 html 进行转义,您需要对未转义的字符串使用不同的语法。

所以代替

{{ $emailBody }}
Run Code Online (Sandbox Code Playgroud)

你应该使用

{!! $emailBody !!}
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读更多信息:https : //laravel.com/docs/5.5/blade#displaying-data