Package Data | |
---|---|
Maintainer Username: | Kezho |
Maintainer Contact: | kezho@me.com (Maxime Francois) |
Package Create Date: | 2015-02-16 |
Package Last Update: | 2018-11-27 |
Home Page: | |
Language: | HTML |
License: | MIT |
Last Refreshed: | 2024-12-12 15:01:54 |
Package Statistics | |
---|---|
Total Downloads: | 3,415 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 5 |
Total Forks: | 2 |
Total Open Issues: | 0 |
Mailer saver extend the laravel 5 mailer.
Add on your composer.json
"require": {
"distilleries/mailersaver": "2.*",
}
run composer update
.
Add Service provider to config/app.php
:
'providers' => [
// ...
Distilleries\MailerSaver\MailerSaverServiceProvider::class,
Wpb\String_Blade_Compiler\ViewServiceProvider::class,
],
And Facade (also in config/app.php
) replace the laravel facade Mail
'aliases' => [
// ...
'Mail' => 'Distilleries\MailerSaver\Facades\Mail',
]
You need to provide a model of data, simply add on your register method a new instance of your model in your app/Providers/AppServiceProvider.php
:
public function register()
{
$this->app->singleton('Distilleries\MailerSaver\Contracts\MailModelContract', function ($app) {
return new App\Email;
});
}
In this case I return a Email model instance.
This model just implement the contract Distilleries\MailerSaver\Contracts\MailModelContract
.
To Publish the model:
php artisan vendor:publish --provider="Distilleries\MailerSaver\MailerSaverServiceProvider" --tag="models"
To Publish the migration:
php artisan vendor:publish --provider="Distilleries\MailerSaver\MailerSaverServiceProvider" --tag="migrations"
You can publish the config file with the command line:
php artisan vendor:publish --provider="Distilleries\MailerSaver\MailerSaverServiceProvider"
return [
'template' => 'mailersaver::default',
'override' => [
'enabled' => env('MAILERSAVER_ENABLED', false),
'to' => env('MAILERSAVER_TO', 'default1@mailto.com,default2@mailto.com'),
'cc' => env('MAILERSAVER_CC', ''),
'bcc' => env('MAILERSAVER_BCC', ''),
],
];
Field | Description ----- | ----------- template | Global template when you put the content of your mail. override | An array with all the config to hoock the mail send. enabled | Enable the override of the mail. If in true that send the email with the to, cc, bcc to | Use to send an email when the override parameter is set to true cc | Use to send an email when the override parameter is set to true bcc | Use to send an email when the override parameter is set to true
To override the view you can give a new template on the configuration or modify the current one. Before modify it you have to publish it:
php artisan vendor:publish --provider="Distilleries\MailerSaver\MailerSaverServiceProvider" --tag="views"
It's exactly the same than the laravel mailer.
Example:
Mail::send('emails.welcome', ['key' => 'value'], function ($message) {
$message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
If the override is set to true email is send to another to
email address.
If composer update --require-dev refuse to install, remove illuminate/* from vendor before the install or just remove vendor and start fresh.