public function send($email) { //Загружаем код пользователя по e-mail $userId = PsUser::instByMail($email)->getId(); //Генерируем код $CODE = PsUserCode::passRecover()->generateAndSave($userId); //Отправляем письмо try { $content = $this->foldedEntity->fetchTpl(array('code' => $CODE->getCode())); PsMailSender::fastSend('Восстановление пароля на ' . ServerArrayAdapter::HTTP_HOST(), $content, $email); } catch (Exception $ex) { //Коды, высланные пользователю, нужно удалить $CODE->dropUnusedCodes($userId); throw $ex; } }
/** @return PsMailSender */ public static function inst() { return self::$inst ? self::$inst->reset() : (self::$inst = new PsMailSender()); }
/** * Аудит отправки письма */ public function afterSended(PsMailSender $sender) { $this->doAudit(self::ACTION_SENDED, $sender->getUserIdTo(), "{$sender}"); }