Ken*_*rna 7 email laravel laravel-5.5
我已经阅读了几个与此问题相关的类似问题,但都提到Markdown mailables.
我正在尝试在mailables中发送内联图像,但我还没有找到适当的方法(Laravel 5.5).
该文件说,这:
内联附件
将内嵌图像嵌入电子邮件通常很麻烦; 但是,Laravel提供了一种将图像附加到电子邮件并检索相应内容的便捷方法
CID.要嵌入内嵌图像,请在电子邮件模板中embed的$message变量上使用该方法.Laravel自动使$message变量可用于您的所有电子邮件模板,因此您无需担心手动传递它:Run Code Online (Sandbox Code Playgroud)<body> Here is an image: <img src="{{ $message->embed($pathToFile) }}"> </body>
但是,当这样做时,我收到此错误:
未定义的变量:message(查看:/path/to/project/resources/views/mails/new_user_welcome.blade.php)
我知道这在使用Markdown消息时有一个限制,但我没有使用它.
这是相关文件:
class NewUserWelcomeEmail extends Mailable
{
use SerializesModels;
public function build()
{
return $this->view('mails.new_user_welcome');
}
}
Run Code Online (Sandbox Code Playgroud)
@extends('layouts.mail')
@section('content')
<img src="{{ $message->embed(url("storage/images/inline_image.png")) }}"
alt="An inline image" />
@endsection
Run Code Online (Sandbox Code Playgroud)
public function register(NewUserRequest $request)
{
// some code
Mail::to($user)->send(new NewUserWelcomeEmail($user));
return 'done';
}
Run Code Online (Sandbox Code Playgroud)
好吧,说实话,我还没有找到一种方法可以让它正常工作。我的意思是,就目前情况而言,这应该可行。也许是我的 Laravel 安装(?)..
不管怎样,我确实通过一种解决方法让它发挥作用。
1)使用 Eduardokum 的Laravel Mail Auto Embed包,这基本上为每个媒体资产生成一个CID 。
但是添加这个包后,这并没有按预期工作..所以我:
2)改变我引用我的资产的方式,从此:
<img src="{{ url('storage/inline_image.png') }}" />
Run Code Online (Sandbox Code Playgroud)
对此:
<img src="{{ asset('storage/inline_image.png') }}" />
Run Code Online (Sandbox Code Playgroud)
现在可以了。
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |