Laravel 5.5 在浏览器中渲染 Mailable 类型

栏目: 编程语言 · PHP · 发布时间: 6年前

内容简介:Laravel 5.5 在浏览器中渲染 Mailable 类型

Laravel 框架中提供了很方便快捷的面向对象风格的电子邮件相关功能,可以通过 Markdown 语法、 Blade 模板引擎来制作邮件模板,然后通过扩展 Mailable 类来配置邮件相关的属性。最后通过 Mail::to() 方法即可快捷地发送邮件出去。有关邮件功能的详细实现可以参见 官方文档 . 但我们在制作自定义的邮件模板时,如何进行测试以确保在各种邮件客户端中正确显示,确是一个比较大的难题。尽管有一些类似 litmus 这样的 工具 可以解决邮件测试的问题,但是成本高昂。

另外一种适用于开发中进行邮件模板渲染测试的方法就是直接把最终生成的电子邮件显示在网页中(用于测试模板是否正常工作,不保证兼容性),这种方法的好处显而易见,能够快速检验模板是否正确,数据是否正确呈现,便于实时修改。尽管这是开发中非常普遍的应用场景,但在以往的版本中,想把 Mailable 扩展类与模板结合渲染到浏览器中查看却并不是一件非常便捷的事情。从 Laravel 5.5 版本开始,这个问题得到了改变,Mailable 类实现了 Renderable 接口(Contract),这样我们就能够通过一个url直接在浏览器中查看最终生成的电子邮件。

举个例子,我们首先通过 artisan 工具创建一个 UserWelcome 的 Mailable 扩展类:

php artisan make:mail UserWelcome --markdown=emails.user.welcome

然后,创建一个路由,来显示这个电子邮件:

Route::get('/mail', function() {
    return new \App\Mail\UserWelcome();
});

只要直接返回 UserWelcome 类的实例,由于它实现了 Renderable 接口,就可以直接显示在浏览器中。当我们访问这个 url,会看到:

Laravel 5.5 在浏览器中渲染 Mailable 类型

这就是我们的电子邮件最终将呈现在用户邮箱中的样子。开发过程中只要这样验证即可,在最终发布之前,所有的邮件类和邮件模板,可以在真实的邮件客户端中,或者通过电子邮件专用的测试工具进行一次性地测试验证即可。可以避免了开发过程中反复进行测试验证,能够大大节省开发时间。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

菜鸟侦探挑战数据分析

菜鸟侦探挑战数据分析

[日] 石田基广 / 支鹏浩 / 人民邮电出版社 / 2017-1 / 42

本书以小说的形式展开,讲述了主人公俵太从大学文科专业毕业后进入征信所,从零开始学习数据分析的故事。书中以主人公就职的征信所所在的商业街为舞台,选取贴近生活的案例,将平均值、t检验、卡方检验、相关、回归分析、文本挖掘以及时间序列分析等数据分析的基础知识融入到了生动有趣的侦探故事中,讲解由浅入深、寓教于乐,没有深奥的理论和晦涩的术语,同时提供了大量实际数据,使用免费自由软件RStudio引领读者进一步......一起来看看 《菜鸟侦探挑战数据分析》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具