数据库
首页 > 数据库> > php-来自数据库的带有模板的邮件

php-来自数据库的带有模板的邮件

作者:互联网

Laravel邮件方法默认情况下是在views / emails文件夹中搜索模板.我想对存储在数据库中的模板使用邮件方法.我应该如何修改邮件,以便它可以从任何来源获取模板?

解决方法:

Laravel邮件方法不会在views / emails文件夹中搜索模板,您必须提及要用于邮件的刀片模板名称.

假设您在views文件夹中有一个名为mymailtemplates的文件夹,在其中有一个名为welcome.blade.php的模板,那么您可以使用此模板如下发送邮件

Mail::send('mymailtemplates.welcome', $data, function($message)
{
    $message->from('us@example.com', 'Laravel');

    $message->to('foo@example.com')->cc('bar@example.com');

    $message->attach($pathToFile);
});

现在,如果您要使用存储在数据库中的模板,请在变量中获取模板,并创建一个虚拟刀片文件(dummy.blade.php),该文件仅执行回送给它的内容(在本例中为数据库中的模板) ),您现在可以使用存储在数据库中的模板发送邮件,

Mail::send('mymailtemplates.welcome', $templatedata, function($message)
{
    $message->from('us@example.com', 'Laravel');

    $message->to('foo@example.com')->cc('bar@example.com');

    $message->attach($pathToFile);
});

其中$templatedata将包含从DB逐步执行的模板代码.

标签:laravel,laravel-4,php
来源: https://codeday.me/bug/20191122/2058759.html