Laravel发送自定义电子邮件



我不知道这是否可能

我正在尝试向用户表中的所有用户发送自定义电子邮件。我正在使用拉拉威尔的邮件时尚。

有一个刀片模板是这样的:

@component('mail::message')
# New Book Lunch

This is the body of the email.
@component('mail::button', ['url' => $url ?? ''])
View Order
@endcomponent
Thanks,<br>
{{ config('app.name') }}
@endcomponent

我发送邮件的方法看起来像这个

class NewsLetterController extends Controller
{
public function newsletter(Request $request)
{
$subject = $request->name;
$message = $request->message;
$email = User::pluck('email');
Mail::to($email)->(Add my custom $message and $subject)->send(new NewsLetter());
}

}

在这里,我想添加一条自定义消息,并以我的填写为主题。如何才能添加自定义消息?

查看文档:https://laravel.com/docs/8.x/mail#sending-邮件

您可以通过构造函数将变量传递给Mailable。

Mail::to($request->user())->send(new NewsLetter($subject, $message));

在邮件中:

class NewsLetter extends Mailable
{
// ...
public function __construct(string $subject, string $message) 
{
$this->subject = $subject;
$this->message = $message;
}
}

如果你想将消息传递给视图,你的build可能看起来像:

class NewsLetter extends Mailable
{
// ...
public function build()
{
return $this->view('emails.newsletter')
->with([
'message' => $this->message,
]);
}
}

最后,您在blade中添加消息:

<p>{{ $message }}</p>

最新更新