2014-09-26 29 views
2

當我試圖發送一封電子郵件使用laravel中的swiftmailer時,出現以下錯誤:「UsersController :: {closure}()缺少參數2」。發送電子郵件時發生Laravel問題

我的代碼如下:

Mail::send('emails.default', array('key' => Config::get('settings.WELCOMEMAIL')), function($message, $mail, $subject = 'Welcome!') 
{ 
    $message->to($mail)->subject($subject); 
}); 

這很古怪,但。 $ mail變量包含一個有效的電子郵件地址,我在這個腳本中根本沒有使用UsersController。

在此先感謝

回答

4

你必須通過只$message到關閉。任何其他變量必須通過關鍵字use傳遞:

Mail::send('emails.default', array('key' => Config::get('settings.WELCOMEMAIL')), function($message) use($mail, $subject) 
{ 
    $subject = empty($subject) ? 'Welcome!' : $subject; 
    $message->to($mail)->subject($subject); 
}); 
+0

感謝您快速並正確的回答! Laravel很棒,但我發現文檔有時缺乏重要的細節。 – user2274356 2014-09-26 13:55:25