2017-09-15 61 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

你在線上有什麼聲明88 –

回答

2

問題是郵件管理器依賴於郵件配置,而且自5.1版以來,Lumen默認不包含郵件配置。如果您使用Lumen> 5.1,則需要添加自己的郵件配置文件,並更新引導文件以加載配置文件。

首先,在您的app目錄旁邊創建一個config目錄。

接下來,在您的新config目錄中添加一個mail.php文件。您可以從默認的Laravel安裝中複製與您正在使用的Lumen版本相匹配的內容(例如,如果您使用的是Lumen 5.4,只需複製Laravel 5.4中的mail.php配置文件)。

最後,在bootstrap/app.php文件,加載配置文件:

$app->configure('mail'); 

我會把這行您註冊的郵件服務提供商之前,只要是安全的。

+0

這解決了它。我現在得到超時錯誤,但至少我們比以前進一步。感謝patricus! – Albert