2017-09-15 18 views
0

ルーメンを使用してメールを送信する方法に関する多くのガイドと質問と回答を読んだことがあります。私はこれらの提案をたくさん試しました。ルーメンでメールを送信

(1/1) FatalThrowableError 
Type error: Too few arguments to function Illuminate\Support\Manager::createDriver(), 0 passed in /var/www/monitor/vendor/illuminate/support/Manager.php on line 88 and exactly 1 expected 

のフルスタックトレースhere

しかし、私はまだ、このエラーを取得します。

これは私のコントローラである:

use Illuminate\Support\Facades\Mail; 

public function check() { 
    $response = $this->getResponse(); 
    if ($response) { 
     if ($this->isAlive($response->state)) { 
      $user = new \stdClass(); 
      $user->email = '****@gmail.com'; 
      $user->name = 'Albert'; 
      Mail::raw('test', function($mail) use ($user) { 
       $mail->to($user->email, $user->name)->subject('Test Subject'); 
      }); 
      // I've also tried Mail::send() but no luck 
      echo 'System is fine'; 
     } else { 
      echo 'System has issues'; 
     } 
    } else { 
     echo 'Error connecting'; 
    } 
} 

私がコメントを外していて、私のbootstrap/app.phpに次の行を追加:

$app->withFacades(); 
$app->register(App\Providers\AppServiceProvider::class); 
$app->register(Illuminate\Mail\MailServiceProvider::class); 

私は私の.envファイルに次のように持っている:

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=mygmailpassword 
MAIL_ENCRYPTION=tls 

何か不足していますか?

+0

あなたはどのようなステートメントをオンラインにしていますか? –

答えて

2

問題は、メールマネージャはメールの設定に依存しており、5.1以降はデフォルトでLumenにメール設定が含まれていないということです。 Lumen> 5.1を使用している場合は、独自のメール設定ファイルを追加し、設定ファイルを読み込むためにブートストラップファイルを更新する必要があります。

最初にappディレクトリの隣にconfigディレクトリを作成します。

次に、新しいconfigディレクトリにmail.phpファイルを追加します。使用しているルーメンバージョンに一致するデフォルトのLaravelインストールからコンテンツをコピーできます(たとえば、ルーメン5.4を使用している場合は、Larravel 5.4のmail.php設定ファイルをコピーするだけです)。あなたのメールサービスプロバイダを登録する前に

$app->configure('mail'); 

が、私は念のために、この行を置く:

最後に、あなたのbootstrap/app.phpファイルで、コンフィギュレーション・ファイルをロードします。

+0

これで解決しました。私は今タイムアウトエラーが発生していますが、atleastは以前よりもずっと前です。ありがとうパトリス! – Albert