如何解决"没有为[mail]定义的提示路径".(在laravel上自定义电子邮件布局)?

Suc*_*Man 4 email notifications laravel laravel-5.4

从这里:Laravel 5.4 - 如何自定义通知电子邮件布局?

我尝试自定义通知邮件布局

我的代码发送这样的电子邮件:

public function toMail($notifiable)
{
    return (new MailMessage)
                ->subject('Test')
                ->view('vendor.mail.markdown.message',['data'=>$this->data]);
}
Run Code Online (Sandbox Code Playgroud)

像这样的观点:

@component('mail::layout')
    {{-- Header --}}
    @slot('header')
        @component('mail::header', ['url' => config('app.url')])
            {{ config('app.name') }}
        @endcomponent
    @endslot

    {{-- Body --}}
    {{ $slot }} test

    {{-- Subcopy --}}
    @isset($subcopy)
        @slot('subcopy')
            @component('mail::subcopy')
                {{ $subcopy }}
            @endcomponent
        @endslot
    @endisset

    {{-- Footer --}}
    @slot('footer')
        @component('mail::footer')
            © {{ date('Y') }} {{ config('app.name') }}. All rights reserved.
        @endcomponent
    @endslot
@endcomponent
Run Code Online (Sandbox Code Playgroud)

如果执行代码,则存在如下错误:

(2/2)ErrorException没有为[mail]定义提示路径.(查看:C:\ xampp\htdocs\myshop\resources\views\vendor\mail\markdown\message.blade.php)

我该如何解决错误?

Joe*_*Joe 11

如果您在模板中使用markdown,则需要使用->markdown()方法而不是->view()方法MailMessage

public function toMail($notifiable)
{
    return (new MailMessage)
            ->subject('Test')
            ->markdown('vendor.mail.markdown.message',['data'=>$this->data]);
}
Run Code Online (Sandbox Code Playgroud)