dojo-sh / database-mail-templates
Your Package Description here
Installs: 23
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Language:Blade
Requires (Dev)
- fzaninotto/faker: ^1.9@dev
- illuminate/support: ^5.8@dev
- mockery/mockery: ^1.0@dev
- orchestra/database: ^3.8@dev
- orchestra/testbench: ^3.8@dev
- phpunit/phpunit: ^7.4@dev
- symfony/thanks: ^1.0
README
Render laravel mail using a blade template stored in the database
Install
composer require dojo-sh/database-mail-templates
Migrate
php artisan migrate
Publish config
php artisan vendor:publish --provider="DojoSh\DatabaseMailTemplates\DatabaseMailTemplatesServiceProvider" --tag=config
Override default template
php artisan vendor:publish --provider="DojoSh\DatabaseMailTemplates\DatabaseMailTemplatesServiceProvider" --tag=views
Usage
Create a new mailable
php artisan make:database-mail-template {name} {--notification}
Ex. Mailable Class
namespace App\Mail;
use DojoSh\DatabaseMailTemplates\TemplateMailable;
use Illuminate\Contracts\Queue\ShouldQueue;
class TestMail extends TemplateMailable
{
public $templateVariable;
public function __construct($templateVariable)
{
$this->templateVariable = $templateVariable;
}
}
All public properties will be available in the template
Mailable templates admin panel
http://application.link/database-mail-templates
Preview mail
class ContractApprovedMail extends TemplateMailable
{
public $contract;
public function __construct($contract)
{
$this->contract = $contract;
}
// Override this function and return mockup data to preview the mail
public static function getPreviewInstance()
{
return new self(Contract::first());
}
}
Testing
Run the tests with:
vendor/bin/phpunit
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security-related issues, please email s.arida@dojo.sh instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.