Laravel 5.2。mail /を使用してメールを送信しています。config.services.phpで次のように構成されています。
'mailgun' => [
'domain' => env('mailgun_domain','mydomain.com'),
'secret' => env('mailgin_secret','my-secret-key-132152345423')
],
ただし、正しいサービスパラメータを使用するには、Mail :: sendを呼び出す前に、実行時にその設定を変更する必要があります。実行時に何度も変更する必要があります。
I 。envファイルでは構成できません。すべてのデータは、ユーザーがドメインとシークレットを設定したデータベースから取得されるためです。
config()
ヘルパーを使用して、実行時に動的に構成値を設定できます。
config(['services.mailgun' => $arrayWithNewSettings]);
あなたが この例 に従うと、あなたは正しい軌道に乗ると思います。
_\Illuminate\Mail\TransportManager.php
_にはメソッドcreateMailgunDriver()
があり、デフォルトでは変更できないハードな場所からサービスを取得しています。
独自のサービスプロバイダーを作成し、MailServiceProvider
を拡張して独自のトランスポートをロールバックし、必要に応じてdbから設定をプルできるようにする必要があります。