Laravel 5.6 - 如何更改通知主题

时间:2018-05-03 21:16:18

标签: php laravel

我发送用户电子邮件,然后发送管理员报告。我想更改管理员通知的主题。

为此,我在vendor / mail / themes目录中定义了一个自定义css模板。

我尝试按照这个例子,虽然它适用于Mailables:

https://laravel-news.com/email-themes

class AdminReport extends Notification
{
use Queueable;
protected $theme = 'adminemail';

但这不会改变任何主题。

我还尝试在发送通知之前更改主题,但它不起作用:

 config([ "mail.markdown.theme" => "adminemail" ]);

当我在发出第一个用户通知之前设置配置时,更改主题确实有效。

有谁知道正确的方法吗?

1 个答案:

答案 0 :(得分:1)

从Laravel v5.3.7开始Mailables can also be passed to Notifications。因此,为您的电子邮件创建一个Mailable,然后将mailable传递给toMail()方法:

class AdminReport extends Mailable
{
    protected $theme = 'my-theme';

    ...
}

-

class AdminReport extends Notification
{
    ...

    public function toMail($notifiable)
    {
        return (new App\Mailables\AdminReport)->to($notifiable->email);
    }
}