jdtsoftware/laravel-email-templates

此包的最新版本(v0.3.2)没有可用的许可信息。

Laravel 5 数据库驱动电子邮件模板

v0.3.2 2017-05-11 09:10 UTC

README

StyleCI

Laravel Email Templates

适用于 >= Laravel 5.4 和 PHP 7 的数据库驱动电子邮件模板。

配置

首先在 config/app.php 中注册服务提供者

'providers' => [
    # ...
    JDT\LaravelEmailTemplates\ServiceProvider::class,
],

然后,在同一个文件中,将外观添加到别名配置中

'aliases' => [
    # ...
    'EmailTemplate' => JDT\LaravelEmailTemplates\Facades\EmailTemplates::class,
]

接下来,运行迁移

$ php artisan migrate

这将设置2个表;email_template 和 email_layout。

用法

此包构建方式使其与现有的 Laravel Mailer 功能良好地协同工作。

给定上面表中存在的模板,具有 'registration' 的处理程序,可以简单地如下发送电子邮件

$mail = \EmailTemplate::fetch('registration', ['name' => 'Jon']);
 
\Mail::to('foo@bar.com', $mail);

当然,您可以传递语言来翻译所选电子邮件,前提是您已为该处理程序/语言组合创建了电子邮件。

$mail = \EmailTemplate::fetch('registration', ['name' => 'Jon'], 'es');
 
\Mail::to('foo@bar.com', $mail);

此包不依赖于如 Blade 或 Twig 之类的模板引擎来处理任何电子邮件消息,但它提供了自己的视图类,遵守 Laravel 合同。

这意味着您可以将数据传递给电子邮件,就像传递任何其他视图一样,无需担心您在项目其他地方使用的模板包选择。

$mail = \EmailTemplate::fetch('registration', ['first_name' => 'Jon']);
 
$mail->with('last_name', 'Braud');
 
$mail->with([
    'verify_url'=> 'https:/....',
    'signup_time' => \Carbon\Carbon::now()->toDateTimeString()
]);
 
\Mail::to('foo@bar.com', $mail);