有没有一种方法可以使Laravel Mail对象的主体存储在变量中?

时间:2019-12-29 18:11:31

标签: php laravel laravel-mail

我正在使用Laravel Mail API生成可发送邮件并将其发送出去。
一切正常。

但是,我也想在数据库中记录电子邮件正文。
为了做到这一点,我首先需要获取要发送的电子邮件的正文。

在Laravel文档中,他们有一个有关如何在此处向浏览器输出电子邮件的代码段:
https://laravel.com/docs/5.7/mail#previewing-mailables-in-the-browser

但是,我不想将电子邮件输出到浏览器。我想将其存储在变量中。
那可能吗?如果是这样,怎么办?谢谢。

就像文档中建议的那样,我尝试了以下操作:

$body = new App\Mail\InvoicePaid($invoice);

但是,我收到一条错误消息,说我必须实际返回新的Mail对象才能正常工作(即,按照文档中示例代码中的操作进行操作)。

1 个答案:

答案 0 :(得分:1)

Previous paragraph告诉您如何捕获渲染的模板:

$html = (new App\Mail\InvoicePaid($invoice))->render();
echo $html;