Laravel-发送恢复邮件
我正试图用Laravel发送一封恢复邮件。我有以下恢复方法:Laravel-发送恢复邮件,laravel,laravel-5,Laravel,Laravel 5,我正试图用Laravel发送一封恢复邮件。我有以下恢复方法: public function recovery(Request $request) { $validator = Validator::make($request->only('email'), [ 'email' => 'required' ]); if($validator->fails()) { thro
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
,重置email就是输出,但由于某些原因,我得到以下错误:
Undefined index: email
at
"/home/pokemoti/public_html/api/vendor/laravel/framework/src/Illuminate/Auth/Passwords/PasswordBrokerManager.php" on line 74
知道哪里出了问题吗?通过在我的
config/auth.php
passwords->users数组中添加以下行来修复它:
'email' => 'auth.emails.password',
它是从另一个项目中获得的。您为什么不使用内置解决方案来恢复密码?没有原因,我已经有一段时间使用此版本的laravel,使用不同的jwt令牌内置身份验证,我不知道如何在这种情况下使用内置解决方案。您可以随时启动一个新的测试laravel项目,运行
php artisan make:auth
,并查看重置是如何处理的,在这种情况下,您不会弄乱当前项目。请尝试以下密码::sendResetLink(['email'=>$request->only('email')],函数(Message$Message){$Message->subject(Config::get('boilerplate.recovery_email_subject'));@Christophvh the make:auth仅为我创建刀片模板,而不是实际的控制器,我使用的是Laravel 5.2