2017-04-11 3 views
0

Ich versuche, eine Wiederherstellungs-Mail mit Laravel zu senden. Ich habe die folgende Wiederherstellungsmethode:Laravel - Senden von Wiederherstellungs-Mail

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(); 
     } 
    } 

Ich habe versucht, die Ausgabe $request->email und der Reset-E-Mail ist der Ausgang, aber für einige Gründe, warum ich die folgende Fehlermeldung erhalten:

Undefined index: email 

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

Jede Idee, was könnte weg falsch?

+0

Gibt es einen Grund, warum Sie die integrierte Lösung nicht verwenden, um das Kennwort wiederherzustellen? – Christophvh

+0

Kein Grund, ich habe diese Version von Laravel für eine Weile mit verschiedenen integrierten Auth für JWT Tokens, ich habe keine Ahnung, wie ich die Build-in-Lösung in diesem Fall verwenden kann – TheUnreal

+0

Sie können immer eine neue Test-Laravel- project und run 'php artisan make: auth' und schau dir an, wie der Reset dort gehandhabt wird. In diesem Fall vermasselst du dein aktuelles Projekt nicht. – Christophvh

Antwort

1

es behoben, durch die folgende Zeile in meinem config/auth.php passwords-> Benutzer Array hinzufügen:

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

es aus einem anderen Projekt nahm, wo es funktionierte.