【问题标题】:Save the email HTML in Laravel在 Laravel 中保存电子邮件 HTML
【发布时间】:2021-02-02 00:36:06
【问题描述】:

我正在构建一个应用程序来创建电子邮件模板和发送电子邮件。我想记录发送的电子邮件,特别是实际的电子邮件 html。原因是电子邮件模板将来可能会发生变化,因此我们需要确切知道我们在特定电子邮件中发送了哪些文本。

我正在使用 Laravel 7,我知道我必须在 MessageSending 或 MessageSent 事件中执行此操作。

protected $listen = [
    'Illuminate\Mail\Events\MessageSending' => [
        'App\Listeners\LogSendingMessage',
    ],
    'Illuminate\Mail\Events\MessageSent' => [
        'App\Listeners\LogSentMessage',
    ],
];

有人做过类似的事情吗?

【问题讨论】:

  • 没有,但有什么问题?
  • @mohammad.kaab,你读过这个问题吗?我想将 db/ 中的电子邮件 html 保存为文件。

标签: laravel html-email


【解决方案1】:

您可以通过访问 MessageSending 或 MessageSent 事件的消息属性来查看邮件的正文。 Bellow 是一个示例代码,您可以将其添加到您的侦听器中。

/**
 * @param \Illuminate\Mail\Events\MessageSending $event
 */
public function handle(MessageSending $event): void
{
    $messageBody = $event->message->getBody();

    // Store this message to S3, DB or some other file storage...
    // ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-11
    • 2023-01-12
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多