【发布时间】:2018-10-19 06:49:08
【问题描述】:
我已经阅读了几个与此问题相关的类似问题,但都参考 Markdown 邮件。
我正在尝试在邮件中发送内联图像,但我还没有找到正确的方法(Laravel 5.5)。
documentation 是这样说的:
内嵌附件
在您的电子邮件中嵌入内嵌图像通常很麻烦;但是,Laravel 提供了一种方便的方法来将图像附加到您的电子邮件并检索适当的
CID。要嵌入内联图像,请在电子邮件模板中的$message变量上使用embed方法。 Laravel 会自动使$message变量可用于您的所有电子邮件模板,因此您无需担心手动传递它:<body> Here is an image: <img src="{{ $message->embed($pathToFile) }}"> </body>
但是,当我这样做时,我收到了这个错误:
未定义变量:消息(查看:/path/to/project/resources/views/mails/new_user_welcome.blade.php)
我知道在使用 Markdown 消息时会有限制,但 我没有使用。
这是相关文件:
邮件/NewUserWelcomeEmail.php
class NewUserWelcomeEmail extends Mailable
{
use SerializesModels;
public function build()
{
return $this->view('mails.new_user_welcome');
}
}
资源/视图/邮件/new_user_welcome.blade.php
@extends('layouts.mail')
@section('content')
<img src="{{ $message->embed(url("storage/images/inline_image.png")) }}"
alt="An inline image" />
@endsection
App/Http/Controllers/UserController.php
public function register(NewUserRequest $request)
{
// some code
Mail::to($user)->send(new NewUserWelcomeEmail($user));
return 'done';
}
【问题讨论】:
-
尝试使用构造传递消息。
-
你好@AliÖzen,我该怎么做?
-
也许它在其他地方失败了,因为它应该像这样工作..
标签: laravel email laravel-5.5