diff --git a/composer.json b/composer.json index afb8e33..2147e9d 100644 --- a/composer.json +++ b/composer.json @@ -24,9 +24,9 @@ ], "require": { "php": "^7.1.3|^8.0", - "laravel/framework": "~5.1|^6.0|^7.0|^8.0", + "laravel/framework": "~5.1|^6.0|^7.0|^8.0|^9.0", "mailjet/mailjet-apiv3-php": "^1.2", - "mailjet/mailjet-swiftmailer": "^2.0" + "symfony/mailjet-mailer": "^6.0" }, "require-dev": { "fakerphp/faker": "~1", @@ -47,8 +47,7 @@ "extra": { "laravel": { "providers": [ - "Mailjet\\LaravelMailjet\\MailjetServiceProvider", - "Mailjet\\LaravelMailjet\\MailjetMailServiceProvider" + "Mailjet\\LaravelMailjet\\MailjetServiceProvider" ], "aliases": { "Mailjet": "Mailjet\\LaravelMailjet\\Facades\\Mailjet" diff --git a/src/MailjetMailServiceProvider.php b/src/MailjetMailServiceProvider.php deleted file mode 100644 index c5a1799..0000000 --- a/src/MailjetMailServiceProvider.php +++ /dev/null @@ -1,47 +0,0 @@ -extend('mailjet', function () { - return $this->mailjetTransport(); - }); - } catch (Exception $e) { - app('swift.transport')->extend('mailjet', function () { - return $this->mailjetTransport(); - }); - } - } - - /** - * Return configured MailjetTransport. - * - * @return MailjetTransport - */ - protected function mailjetTransport(): MailjetTransport - { - $config = $this->app['config']->get('services.mailjet', []); - $call = $this->app['config']->get('services.mailjet.transactional.call', true); - $options = $this->app['config']->get('services.mailjet.transactional.options', []); - - return new MailjetTransport(new EventDispatcher(), $config['key'], $config['secret'], $call, $options); - } -} diff --git a/src/MailjetServiceProvider.php b/src/MailjetServiceProvider.php index f76875b..f1e78f2 100644 --- a/src/MailjetServiceProvider.php +++ b/src/MailjetServiceProvider.php @@ -4,8 +4,11 @@ namespace Mailjet\LaravelMailjet; +use Illuminate\Support\Facades\Mail; use Illuminate\Support\ServiceProvider; use Mailjet\LaravelMailjet\Services\MailjetService; +use Symfony\Component\Mailer\Bridge\Mailjet\Transport\MailjetTransportFactory; +use Symfony\Component\Mailer\Transport\Dsn; class MailjetServiceProvider extends ServiceProvider { @@ -16,6 +19,16 @@ class MailjetServiceProvider extends ServiceProvider */ public function boot(): void { + Mail::extend('mailjet', function () { + return (new MailjetTransportFactory)->create( + new Dsn( + 'mailjet+api', + 'default', + config('services.mailjet.key'), + config('services.mailjet.secret') + ) + ); + }); } /** diff --git a/src/Transport/MailjetTransport.php b/src/Transport/MailjetTransport.php deleted file mode 100644 index 9c21ec4..0000000 --- a/src/Transport/MailjetTransport.php +++ /dev/null @@ -1,11 +0,0 @@ -