account; $result = new self(); $result->username = $account->username; $result->email = $account->email; $result->code = $confirmation->key; $result->link = Yii::$app->request->getHostInfo() . '/recover-password/' . $confirmation->key; $result->locale = $account->lang; return $result; } public function getTtr() { return 30; } public function canRetry($attempt, $error) { return true; } /** * @param \yii\queue\Queue $queue * @throws \common\emails\exceptions\CannotSendEmailException */ public function execute($queue) { Yii::$app->statsd->inc('queue.sendPasswordRecovery.attempt'); $params = new ForgotPasswordParams($this->username, $this->code, $this->link); $to = EmailHelper::buildTo($this->username, $this->email); $template = new ForgotPasswordEmail($to, $this->locale, $params, Yii::$app->emailsRenderer); $template->send(); } }