需要有关 laravel 5.3 中的电子邮件模块的建议,将 html 邮件正文保存为视图或存储到数据库
need advise on email modules in laravel 5.3, saving html mail body as view or store to DB
我是 laravel 的新手,我想在 laravel 中开发电子邮件模块,它可以在整个应用程序中使用。
比如说,电商网站注册的时候会发邮件。在订购商品等时,
我需要关于
的建议
1.is 在数据库中保存 html 邮件正文优于创建邮件正文作为视图?
2.which laravel 功能是否适合在整个应用程序中实现发送邮件模块?
您应该将邮件正文创建为视图。将它保存在数据库中并在每次需要发送电子邮件时调用它是没有意义的。邮件正文是一个静态元素,不会经常更改。每次发送电子邮件时唯一需要更新的是您在该电子邮件中附加的变量。 Laravel 与 Laravel Mail 一起提供了开箱即用的功能。因此,例如,要在订购商品时发送电子邮件,您首先需要收集该特定订单的数据。比方说:
$data = [
'name' => $request->name,
'email' => $request->email,
'phone' => $request->phone,
'body_message' => $request->message,
'item' => $item
];
在这个例子中,我从一个表单中收集日期。 item 元素可以在购物或使用任何其他方法时存储在 Session 中。
重要提示:我在该数组中使用了索引 'body_message'。您不能使用 'message'。我之前遇到过这个问题,它是一个受保护的名称。
然后调用 Mail::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 邮件的 link。您需要安装额外的包,使用邮件驱动程序,配置 config/mail.php 文件并可能在您的 .env 文件中存储一些信息。
我希望这至少可以作为一个起点。
我是 laravel 的新手,我想在 laravel 中开发电子邮件模块,它可以在整个应用程序中使用。
比如说,电商网站注册的时候会发邮件。在订购商品等时,
我需要关于
的建议1.is 在数据库中保存 html 邮件正文优于创建邮件正文作为视图? 2.which laravel 功能是否适合在整个应用程序中实现发送邮件模块?
您应该将邮件正文创建为视图。将它保存在数据库中并在每次需要发送电子邮件时调用它是没有意义的。邮件正文是一个静态元素,不会经常更改。每次发送电子邮件时唯一需要更新的是您在该电子邮件中附加的变量。 Laravel 与 Laravel Mail 一起提供了开箱即用的功能。因此,例如,要在订购商品时发送电子邮件,您首先需要收集该特定订单的数据。比方说:
$data = [
'name' => $request->name,
'email' => $request->email,
'phone' => $request->phone,
'body_message' => $request->message,
'item' => $item
];
在这个例子中,我从一个表单中收集日期。 item 元素可以在购物或使用任何其他方法时存储在 Session 中。
重要提示:我在该数组中使用了索引 'body_message'。您不能使用 'message'。我之前遇到过这个问题,它是一个受保护的名称。
然后调用 Mail::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 邮件的 link。您需要安装额外的包,使用邮件驱动程序,配置 config/mail.php 文件并可能在您的 .env 文件中存储一些信息。
我希望这至少可以作为一个起点。