我发送电子邮件的代码如下:
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"
图像不显示
我该如何解决这个问题?
答案 0 :(得分:1)
这是一个古老的问题,但这可能会对其他人有所帮助。尝试一下...(假设您想用徽标替换应用名称)
@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'
时,您明确地说,呈现的邮件将仅使用此视图(降价),而完全忽略将要发送的HTML电子邮件。
Markdown电子邮件具有HTML版本和原始文本版本,由于您正在查看电子邮件的HTML版本,因此看不到对markdown文件所做的更改,因此请查看您必须更新的更改{ {1}}不仅是降价促销。
答案 1 :(得分:0)
尝试在<img>
标记内输出图片:
<img src="{{ $message->embed(asset('img/my-logo.png')) }}" alt="alt here">
答案 2 :(得分:0)
@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
请参阅我在您的图像应添加的位置添加了标签。 url('/ img / my-logo.png')转换为存储图像的完整站点地址。
答案 3 :(得分:0)
这对我有用!
<img src="{{$message->embed(asset('images/image_name.png'))}}">
对于具有未定义变量:消息的用户:
您需要将变量$message
发送到视图,而$message
是 Mailable 实例。
示例:
$this->view('view_name_here')
->with(['message' => $this])
->subject("Hello..");