hnsxxscyx / laravel-multi-mail-driver
Make Laravel support multiple mail drivers.
v1.0
2022-10-30 04:32 UTC
Requires
- php: >=5.6.4
- illuminate/mail: 5.*|6.*
This package is auto-updated.
Last update: 2024-04-29 05:00:03 UTC
README
The package make Laravel can use multiple mail driver and sending mail via specific mailer.
Support
Support Laravel 5.* - Laravel 6.x. Laravel ^7 has officially implemented this behavior.
Usage
Same as laravel ^7.x. Need use package namespace.
use Hnsxxscyx\MultipleMailerDriver\Facades\Mail; Mail::mailer('mailgun') ->to($request->user()) ->send(new OrderShipped($order));
Install
composer install hnsxxscyx/laravel-multi-mail-driver;
Config
Register in AppServiceProvider:
use Hnsxxscyx\MultipleMailerDriver\MailManager; public function register() { $this->app->singleton('mail.manager', function ($app) { return (new MailManager($app))->setTransportManager($app['swift.transport']); }); $this->app->bind('mailer', function ($app) { return $app->make('mail.manager')->mailer('mailgun'); }); }
Change aliases Mail in config/app.php:
// 'Mail' => Illuminate\Support\Facades\Mail::class, 'Mail' => Hnsxxscyx\MultipleMailerDriver\Facades\Mail;::class,
TODO
- support notification
- support multiple smtp service