Laravel 8 格式化邮件消息
如果通知支持以邮件方式发送,你需要在通知类上定义一个 toMail
方法。该方法会接收一个 $notifiable
实体并返回 Illuminate\Notifications\Messages\MailMessage
实例。邮件消息可以包含多行文本以及对「动作的调用」。 让我们来看一个 toMail
方法的示例:
/**
* 获取通知对应的邮件.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$url = url('/invoice/'.$this->invoice->id);
return (new MailMessage)
->greeting('Hello!')
->line('One of your invoices has been paid!')
->action('View Invoice', $url)
->line('Thank you for using our application!');
}
提示:请注意我们在
toMail
方法中使用了$this->invoice->id
。你可以传递任何通知生成消息所需要的数据到通知的构造器。
在这个例子中,我们邮寄一个问候语,一行文本,一个操作请求,然后是另一行文本。MailMessage
对象提供的这些方法让格式化短小的事务邮件变得简单快捷。mail
通道会将消息组件转化为带有纯文本副本的漂亮的响应式 HTML 邮件模板。下面是一个通过 mail
通道生成的邮件示例:
提示: 发送邮件通知时,确保在配置文件
config/app.php
中设置了name
的值。这个值将会用在邮件通知消息的头部和底部。