goennounce/laravel-email-templates

此包最新版本(1.0.0)没有可用的许可证信息。

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

1.0.0 2019-05-17 02:36 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:42:17 UTC


README

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

配置

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

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

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

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

接下来,运行迁移

$ php artisan migrate

这将设置两个表:email_template 和 email_layout。

用法

该包以与现有 Laravel 邮件发送功能良好配合的方式构建。

假设存在一个在上述表中具有 'registration' 处理程序的模板,可以通过以下方式简单地发送电子邮件

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

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

$mail = \EmailTemplate::fetch('registration', ['name' => 'Jon'], 'es');
 
\Mail::to('foo@bar.com')->send($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')->send($mail);