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