2017-03-06 11 views

答えて

0

私はこれがあなたの質問に答えるべきだと思います。ただ、データベース・テーブルに保管し、その場で詳細を設定するConfigファサードを使用 https://laravel.io/index.php/forum/07-22-2014-swiftmailer-with-dynamic-mail-configuration

を。

+0

がcofigにDBのエラーを取得します。 –

+0

もちろん、あなたのニーズに合わせてそれを適応させる必要があります。問題の詳細を投稿してください。 –

0

私自身のアプローチ:Illuminate\Mail\MailServiceProvider::classconfig/app.phpから削除し、新しいミドルウェアを作成して、ユーザーが特定された後に手動でロードするようにします。

<?php 

namespace App\Http\Middleware; 

use Illuminate\Contracts\Auth\Guard; 
use Illuminate\Mail\TransportManager; 

use Closure; 
use Mail; 
use Config; 
use App; 

class OverwriteMail 
{ 
    public function __construct(Guard $auth) 
    { 
     $this->auth = $auth; 
    } 

    public function handle($request, Closure $next) 
    { 
     /* 
      $conf is an array containing the mail configuration, 
      a described in config/mail.php. Something like: 

      [ 
       'driver' => 'smtp', 
       'host' => 'smtp.mydomain.com', 
       'username' => foo', 
       'password' => 'bar' 
       ... 
      ] 
     */ 
     $conf = my_own_function(); 

     Config::set('mail', $conf); 

     $app = App::getInstance(); 
     $app->register('Illuminate\Mail\MailServiceProvider'); 

     return $next($request); 
    } 
} 

出典:http://blog.madbob.org/laravel-dynamic-mail-configuration/

関連する問題