需要在Laravel 5.3中就电子邮件模块提供建议,并将HTML邮件主体作为视图或存储到DB



我是Laravel的新手,我想在Laravel中开发电子邮件模块,但可以使用该应用程序。

说,电子商务网站它将在注册时发送邮件。订购商品等时,

我需要有关

的建议

1.在DB中保存HTML邮件主体在创建邮件主体作为视图方面很好吗?2. Laravel功能可以通过应用程序来实现发送邮件模块的功能?

您应该创建邮件主体作为视图。将其保存到DB中并每次您需要发送电子邮件时都会拨打它是没有意义的。邮件主体是静态元素,它不会频繁改变。每次发送电子邮件时,唯一需要更新的内容是您使用该电子邮件附加的变量。Laravel通过Laravel Mail提供了此功能。因此,要在订购商品时发送电子邮件,例如,您需要首先收集该特定订单的数据。假设:

$data = [
        'name'          => $request->name,
        'email'         => $request->email,
        'phone'         => $request->phone,
        'body_message'  => $request->message,
        'item'          => $item
    ];
  • 在此示例中,我正在从表格中收集日期。项目元素可以在购物或使用任何其他方法时存储在会话中。

  • 重要:我在该数组中使用了索引" body_message"。您不能使用"消息"。我以前有这个问题,这是一个受保护的名称。

然后发送消息,只需调用邮件:: send()方法,类似的东西:

Mail::send(['html' => 'emails.your_view'],
        $data
        , function($message) use ($data)
        {
            $message->from('YourEmailAddress', 'YourCompanyName');
            $message->to($data['email'], $data['name'])->subject('Your Order in YourCompanyName');
        });

然后,在视图中,您可以使用此语法包含存储在该数组中的数据:

{!! $body_message !!}

您还需要查看我提供的有关Laravel邮件的链接。您需要安装额外的软件包,使用邮件驱动程序,配置config/mail.php文件,并可能将一些信息存储在.env文件中。

我希望这至少可以作为起点。

最新更新