php - 有没有办法让 Laravel Mail 对象的主体存储在变量中?

标签 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 对象才能使其工作(即,按照文档中的示例代码执行的操作)。

最佳答案

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

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

关于php - 有没有办法让 Laravel Mail 对象的主体存储在变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59522023/

相关文章:

php - 如果 Laravel 自定义验证中输入数组包含多个值,则不会对其进行验证

Laravel 通知 - 延迟电子邮件发送并在条件满足时取消

javascript - 用 html/javascript 编写的模板中的动态表

php - 在 MySQL 表中按日期获取最后一个和下一个数据库记录?

Laravel Multi-Tenancy 方法。从哪儿开始

php - 在本地主机上的 laravel 8 中发送电子邮件时出现 "Connection could not be established with host smtp.gmail.com :stream_socket_client()"错误

Laravel 邮件 : attach if not null

php - 有 2 个 DIV 重叠和下面的其他 DIV

php - 使用通配符选择所有以 XXX 开头的列?

php - Laravel 播种机,调用未定义的方法::创建