我想在每次登录成功时发送通知电子邮件(仅用于测试,因为我已经没有电子邮件注册以测试发送电子邮件)。我修改handleUserWasAuthenticated函数,我假设成功登录时将调用此函数。但是,我无法通过$ request变量从表单的数据中获取电子邮件和用户名。 $ request在默认情况下也在handleUserWasAuthenticated函数的其他地方使用,并且对于这些情况没有警告,只有在我添加的代码中,$ request得到警告“Variable $ request似乎未初始化”。如何使用电子邮件和用户名发送电子邮件?
这是AuthenticatesUser.php中的handleUserWasUathenticated函数
namespace Illuminate\Foundation\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Lang;
trait AuthenticatesUsers
{
use RedirectsUsers;
protected function handleUserWasAuthenticated(Request $request, $throttles)
{
//My modification
$data = [
'title' => 'Welcome to Myfirstsite',
'content' => 'You have finished your registration successfully'
];
Mail::send('emails.verification', $data, function($message){
$message
->to($request['email'],$request['name'])
->subject('Verification email from Myfirstsite');
});
//Original part
if ($throttles) {
$this->clearLoginAttempts($request);
}
if (method_exists($this, 'authenticated')) {
return $this->authenticated($request, Auth::guard($this->getGuard())->user());
}
return redirect()->intended($this->redirectPath());
}
}
答案 0 :(得分:0)
确保您拥有以下代码:use Illuminate\Http\Request;
不是use App\Http\Requests\Request;