I'm using mailgun to send mails thought Laravel 5.2. It configured on config/services.php like that:
'mailgun' => [ 'domain' => env('mailgun_domain','mydomain.com'), 'secret' => env('mailgin_secret','my-secret-key-132152345423') ],
But, I need change that settings in run time, before call Mail::send, to use the correct service parameters. It must be changed many times during runtime.
I cannot configure it by .env file, because all data will be get from database, where the user setups the domain and secret.
2 Answers
Answers 1
You can set it dynamically with config()
helper:
config(['services.mailgun' => $arrayWithNewSettings]);
Answers 2
I think if you follow this example you'll be on the right track.
\Illuminate\Mail\TransportManager.php
has a method createMailgunDriver()
which is pulling services from a hard location that is not changeable by default.
You'll need to write your own service provider, extend the MailServiceProvider
and roll your own transport so that you can pull your settings from the db like you want to.
0 comments:
Post a Comment