public function sendPasswordResetEmail() { $token = md5(Carbon::now() . env('APP_KEY')); $reset = new PasswordReset(); $reset->user_id = $this->id; $reset->token = $token; $reset->save(); $n = new Notifier($this); $n->sendEmail("BoilerMake Password Reset!", 'password-reset', ['token_url' => getenv('FRONTEND_ADDRESS') . "/pwr?tok=" . $token]); }
/** * @param $email string * @return bool */ public static function sendResetEmail($email) { $pwdRst = new PasswordReset(); $pwdRst->email = $email; $pwdRst->init_time = time(); $pwdRst->expire_time = time() + 3600 * 24; // @todo $pwdRst->token = Tools::genRandomChar(64); if (!$pwdRst->save()) { return false; } $subject = Config::get('appName') . "重置密码"; $resetUrl = Config::get('baseUrl') . "/password/token/" . $pwdRst->token; try { Mail::send($email, $subject, 'password/reset.tpl', ["resetUrl" => $resetUrl], []); } catch (Exception $e) { return false; } return true; }