'trim' ], [ 'email', 'required' ], [ 'email', 'email' ], [ 'email', 'exist', 'targetClass' => '\common\models\User', 'filter' => [ 'status' => User::STATUS_ACTIVE ], 'message' => 'There is no user with such email.' ] ]; } /** * Sends an email with a link, for resetting the password. * * @return boolean whether the email was send */ public function sendEmail() { /* @var $user User */ $user = User::findOne ( [ 'status' => User::STATUS_ACTIVE, 'email' => $this->email, 'portalInstance' => Yii::$app->params['siteName'] ] ); if ($user) { if (! User::isPasswordResetTokenValid ( $user->password_reset_token )) { $user->generatePasswordResetToken (); } if ($user->save ()) { return \Yii::$app->mailer->compose ( [ 'html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text' ], [ 'user' => $user ] ) ->setFrom(Yii::$app->params ['noreplyMail']) ->setTo ( $this->email ) ->setSubject ( 'Password reset for '.Yii::$app->params['siteTitle'] )->send (); } } return false; } }