public static function sendPasswordResetLink(\Member $member) { $email = $member->getEmail(); $locale = Localizer::get('mail.password_reset'); $num = $member->getNum(); $now = time(); $email = $member->getEmail(); $href = Router::toModule('manage', 'do_reset_password', ['num' => $num, 'exp' => time(), 'hash' => Cryption::getPasswordResetToken($num, $now, $email)]); return self::send($email, \Tbmt\view\Factory::buildMemberFullNameString($member), $locale['subject'], Localizer::insert($locale['body'], ['link' => $href], false)); }