public function sendMail()
{
/* @var $user User */
$user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]);
if ($user) {
if (!User::isPasswordResetTokenValid($user->password_reset_token)) {
$user->generatePasswordResetToken();
}
if ($user->save()) {
$setting = Setting::find()->where(['id' => 1])->one();
$username = $setting->sendgridUsername;
$password = $setting->sendgridPassword;
$mail_admin = $setting->emailAdmin;
$sendgrid = new \SendGrid($username, $password, array("turn_off_ssl_verification" => true));
$email = new \SendGrid\Email();
$mail = $user->email;
//echo $user->email;exit(0);
$resetLink = \Yii::$app->urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]);
$body_message = 'Hello ' . Html::encode($user->username) . ', <br>
Follow the link below to reset your password: <br>
' . Html::a(Html::encode($resetLink), $resetLink);
$email->addTo($user->email)->setFrom($mail_admin)->setSubject('Password reset for ' . \Yii::$app->name)->setHtml($body_message);
$response = $sendgrid->send($email);
return $response;
}
}
return false;
}