diff --git a/framework/core/src/Foundation/MailServiceProvider.php b/framework/core/src/Foundation/MailServiceProvider.php index 19bfb16b9..a4f8e6d63 100644 --- a/framework/core/src/Foundation/MailServiceProvider.php +++ b/framework/core/src/Foundation/MailServiceProvider.php @@ -55,7 +55,7 @@ class MailServiceProvider extends AbstractServiceProvider private function buildTransport(SettingsRepositoryInterface $settings): Swift_Transport { - switch ($settings->get('mail_driver')) { + switch ($driver = $settings->get('mail_driver')) { case 'smtp': return $this->buildSmtpTransport($settings); case 'mail': @@ -63,6 +63,10 @@ class MailServiceProvider extends AbstractServiceProvider case 'log': return new LogTransport($this->app->make(LoggerInterface::class)); default: + if ($this->app->bound('mail.driver.'.$driver)) { + return $this->app->make('mail.driver.'.$driver); + } + throw new InvalidArgumentException('Invalid mail driver configuration'); } }