hxm / laravel-database-email-template

使用blade文件格式灵活自定义邮件模板内容,内容将存储在数据库中。

0.1.1 2024-09-30 09:01 UTC

This package is auto-updated.

Last update: 2024-09-30 09:01:41 UTC


README

使用blade文件格式灵活自定义邮件模板内容,内容将存储在数据库中。

能够存储

  • 模板类型:markdown,视图
  • 主题:仅文本
  • 正文

安装

composer require hxm/laravel-database-email-template
  • 运行迁移来创建数据库表
php artisan migrate
  • 发布配置文件
php artisan vendor:publish --provider="HXM\LaravelDatabaseEmailTemplate\LaravelDatabaseEmailTemplateServiceProvider" --tag="database_email_template_config"
  • 通过命令使用DatabaseEmailTemplateIntercafe实例创建新的mailable
php artisan database-email-template:create DemoMailable --markdown=mail.demo_mailable

# this command will create new Class \App\Mail\DemoMailable
# new template file will be add on folder resources/mail
# markdown is option
  • 之后,您需要将此类\App\Mail\DemoMailable添加到配置文件中。这是配置文件的默认内容
use HXM\LaravelDatabaseEmailTemplate\Mail\DemoDatabaseEmailTemplate;

return [
    /**
     * add Maiables list 
     */
    'mailables' => [
        \App\Mail\DemoMailable::class, //add new
        // DemoDatabaseEmailTemplate::class
    ],

    /**
     * Admin route configs
     */
    'route' => [
        'enable' => true,
        'prefix' => 'database-email-templates',
        'as' => 'database-email-templates',
        'middleware' => ['web', 'auth'],
    ],

    /**
     * view configs
     */
    'view' => [
        'namespace' => 'database_email_template'
    ]
];
  • 您也可以通过您的ServiceProvider中的boot函数添加您的mailable
use HXM\LaravelDatabaseEmailTemplate\Facades\DatabaseEmailTemplate;

class AppServiceProvider extends ServiceProvider
{
    ...
    function boot() {
        //...
        DatabaseEmailTemplate::addMailable(\App\Mail\DemoMailable::class);
    }
}

此包将自动注册事件监听器,并将数据插入数据库。

使用

  • 通过浏览器访问通过您配置的路由前缀的Admin路由索引,默认为https://{yourhost}/database-email-templates

image

  • 创建新

image

  • 要保存内容到数据库,您必须使用预览功能,确保没有错误,然后才会出现保存按钮。

image

如果您有任何问题或需要帮助,请告知我。您的贡献对于使此包更好非常有价值。

请注意,目前对于Laravel 7+,直到在较低版本中测试和验证。