Laravel 5.5 邮件支持多主题啦!(Laravel 5.5 新功能早知道)

file

在 Laravel 5.4 中,我们引入了 Markdown 语法写电子邮件,可以让我们在 Markdown 中撰写电子邮件的同时使用 Blade 模板引擎的 Components & Slots

Laravel 为网页元素提供了一系列预定义的组件,如页眉、页脚、按钮和表格,让你可以轻松地将其放入电子邮件模板中。

@component('mail::button', ['url' => $actionUrl, 'color' => $color])
    {{ $actionText }}
@endcomponent

使用默认主题发送 Markdown 电子邮件,就可以发送非常好看的电子邮件的同时也无需担心自己设计样式会出现浏览器不兼容的情况。

但是,如果你想要自定义地去设计电子邮件的风格呢?

在 Laravel 5.4 中,就已经可以实现创建自己的主题。

首先在以下路径中生成包含自定义样式的 CSS 文件:

// my-theme.css is the name of your theme
resources/views/vendor/mail/html/themes/my-theme.css

然后更新 mail.php 配置文件中的 markdown 选项:

'markdown' => [
    'theme' => 'my-theme',
    'paths' => [
        resource_path('views/vendor/mail'),
    ],
],

设置完之后,任何发送的 Markdown 电子邮件都会使用自定义主题。

而现在,在 Laravel 5.5 中,会更加灵活。 你可以在 Mailable 类中指定使用哪个主题。

举个栗子。 假设有一个应用程序,需要向客户和内部的管理员发送电子邮件通知。 你很乐意在内部电子邮件使用 Laravel 的默认样式,但客户是必须要使用自定义的品牌相关的邮件模板主题。那么我们可以简单地这样来做:

像以前一样,通过添加一个 CSS 文件来创建你的主题

resources/views/vendor/mail/html/themes

然后利用新的 $theme 属性,在向用户发送电子邮件的 Mailable 类中引用新的主题。

class SendInvoice extends Mailable
{
    protected $theme = 'my-theme';
    ...
}

好像好厉害的样子,让人迫不及待地想快点使用这新任的 LTS!

今天的新闻播报就到这里~~ 更多新闻请前往 Laravel 资讯站 查看~ 谢谢捧场:tada:

参考链接:https://laravel-news.com/email-themes

本作品采用《CC 协议》,转载必须注明作者和本文链接
Stay Hungry, Stay Foolish.
本帖由系统于 7年前 自动加精
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4
好像好厉害的样子
function index() {

}
7年前 评论

感觉目前5.4版本都有些问题,希望Laravel 不要步WordPress的后尘,一味追求大而全,忽略的初衷!

7年前 评论

@Vlongen 可以說說是哪些問題嗎?目前用起來蠻靠譜的啊?

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!