我的发送电子邮件的代码如下:
public function toMail($notifiable)
{
return (new MailMessage)
->subject('Test')
->markdown('vendor.mail.markdown.message', ['data' => $this->data]);
}
我的message.blade视图是这样的:
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{ config('app.name') }}
@endcomponent
@endslot
{{-- Body --}}
This is your logo
![Some option text][logo]
[logo]: {{asset('img/my-logo.png')}} "Logo"
{{-- 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
成功发送电子邮件,但包含电子邮件的内容如下:
This is your logo
![Some option text][logo]
[logo]: http://myshop.dev/img/my-logo.png "Logo"
图像不显示
我该如何解决这个问题?
这是一个古老的问题,但这可能会对其他人有所帮助。尝试一下...(假设您想用徽标替换应用名称)
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
<img src="{{ asset('img/my-logo.png') }}" alt="{{ config('app.name') }} Logo">
@endcomponent
@endslot
{{-- Body --}}
{{ $slot }}
{{-- Subcopy --}}
@isset($subcopy)
@slot('subcopy')
@component('mail::subcopy')
{{ $subcopy }}
@endcomponent
@endslot
@endisset
{{-- Footer --}}
@slot('footer')
@component('mail::footer')
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
@endcomponent
@endslot
@endcomponent
[当您扩展'vendor.mail.markdown.message'
时,您明确地说呈现的邮件将仅使用此视图,即markdown,而您完全忽略将发送的HTML电子邮件。
Markdown电子邮件具有HTML版本和原始文本版本,由于您正在查看电子邮件的HTML版本,因此看不到对markdown文件所做的更改,因此请查看您必须更新的更改[C0 ]不仅是降价促销。
尝试在/resources/views/vendor/mail/html/message.blade.php
标签内输出图像:
<img>
<img src="{{ $message->embed(asset('img/my-logo.png')) }}" alt="alt here">
请参阅我在您的图像应添加的位置添加了标签。 url('/ img / my-logo.png')转换为存储图像的完整站点地址。
这对我有用!
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{ config('app.name') }}
@endcomponent
@endslot
{{-- Body --}}
This is your logo
![Some option text][logo]
[logo]: <img src="{{url('/img/my-logo.png')}}" style="height: 100px;"/> "Logo"
{{-- 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
对于具有Undefined variable:message]的用户:您需要将变量<img src="{{$message->embed(asset('images/image_name.png'))}}">
发送到视图,而$message
是Mailable实例。例如:
$message