2017-04-11 94 views
0

我試圖使用Laravel發送恢復郵件。我有以下恢復方法:Laravel - 發送恢復郵件

public function recovery(Request $request) 
    { 
     $validator = Validator::make($request->only('email'), [ 
      'email' => 'required' 
     ]); 

     if($validator->fails()) { 
      throw new ValidationHttpException($validator->errors()->all()); 
     } 

     $response = Password::sendResetLink($request->only('email'), function (Message $message) { 
      $message->subject(Config::get('boilerplate.recovery_email_subject')); 
     }); 

     switch ($response) { 
      case Password::RESET_LINK_SENT: 
       return $this->response->noContent(); 
      case Password::INVALID_USER: 
       return $this->response->errorNotFound(); 
     } 
    } 

我試圖輸出$request->email和復位電子郵件是輸出,但由於某些原因,我得到以下錯誤:

Undefined index: email 

at 
"/home/pokemoti/public_html/api/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php" on line 74 

任何想法可能已經錯誤?

+0

是否有一個原因,您爲什麼不使用解決方案中的版本來恢復密碼? – Christophvh

+0

沒有理由,我有這個版本的laravel有一段時間與不同的內置驗證爲jwt令牌,我不知道如何在這種情況下我可以使用解決方案中的構建 – TheUnreal

+0

你總是可以啓動一個新的測試laravel-項目並運行'php artisan make:auth'並查看重置的處理方式。在這種情況下,您不要搞亂當前的項目。 – Christophvh

回答

1

加入下面一行在我config/auth.php passwords->用戶陣列固定它:

'email' => 'auth.emails.password', 

把它從另一個項目中,它的工作。