public function send(ReminderSendRequest $request) { $email = $request->get('email'); $user = $this->userService->getByEmail($email); if (empty($user)) { return view('password.send', compact('email')); } $token = $this->authService->createReminderToken(); try { \DB::beginTransaction(); $this->reminderService->create($user->id, $token); $this->reminderService->sendReminderMail($email, $token); \DB::commit(); } catch (\Exception $e) { \DB::rollback(); \App::abort(500); } return view('password.send', compact('email')); }