【问题标题】:Is there a way to get the body of a Laravel Mail object to store in a variable?有没有办法让 Laravel Mail 对象的主体存储在变量中?
【发布时间】:2019-12-29 18:11:31
【问题描述】:

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

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

在 Laravel 文档中,他们有一个关于如何将电子邮件输出到浏览器的 sn-p:
https://laravel.com/docs/5.7/mail#previewing-mailables-in-the-browser

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

就像文档建议的那样,我尝试了以下方法:

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

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

【问题讨论】:

    标签: php laravel laravel-mail


    【解决方案1】:

    Previous paragraph 告诉你如何捕捉渲染的模板:

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

    【讨论】:

    • 完全错过了!太感谢了。 (现在感觉像个白痴。)
    猜你喜欢
    • 2011-06-10
    • 2016-04-17
    • 1970-01-01
    • 2010-12-30
    • 2015-04-28
    • 2019-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多