Laravel 5 Mail模板显示html标签

Laravel 5 Mail模板显示html标签,第1张

概述我有主要的邮件模板(resources / views / mail.blade.php).这是使用我的所有邮件的常用模板,例如忘记密码或更改新密码. mail.blade.php的内容如下: <table><tr><td>SiteName</td></tr><tr><td>{{$content}}</td></tr></table> 我通过CKEditor存储电子邮件模板的内容(在myS 我有主要的邮件模板(resources / vIEws / mail.blade.PHP).这是使用我的所有邮件的常用模板,例如忘记密码或更改新密码. mail.blade.PHP的内容如下:

<table><tr><td>Sitename</td></tr><tr><td>{{$content}}</td></tr></table>

我通过CKEditor存储电子邮件模板的内容(在MysqL数据库中),它看起来像:

<p>Dear {{$username}},</p><p>This is your new password: {{$newPassword}}</p>

现在我在laravel 5.5中使用mail功能如下:

$content = str_replace(array('username','newPassword'),array($username,$request->confirm_password),addslashes($emailTemplate->templateBody));Mail::send(['HTML' => 'mail'],['content' => $content],function ($message) use($emailTemplate,$user){$message->from($emailTemplate->fromEmail,$emailTemplate->fromname);$message->to($user->email);});

在mailtrap.io发送电子邮件后,我看到邮件如下:

Sitename<p>Dear Niladri,</p> <p>This is your new password: 123456</p>

请注意,在mail.blade中写入Sitename的表,tr,td正在运行,并且电子邮件中没有显示HTML代码.没关系.但只有来自CKEditor的内容显示HTML标签(< p>< / p>).

我做错了什么吗?

解决方法 要在.blade.PHP文件中使用PHP变量的HTML内容,您需要使用{!! $variable !!}而不是{{$variable}}.第一个将呈现您的HTML,第二个将输出为字符串,包括HTML标记.您的mail.blade.PHP文件应如下所示:

<table>  <tr>    <td>Sitename</td>  </tr>  <tr>    <td>{!! $content !!}</td>  </tr></table>
总结

以上是内存溢出为你收集整理的Laravel 5 Mail模板显示html标签全部内容,希望文章能够帮你解决Laravel 5 Mail模板显示html标签所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存