frontend\models\EmailBindRequestForm::sendEmail PHP Method

sendEmail() public method

Sends an email to the specified email address using the information collected by this model.
public sendEmail ( $runValidation = true ) : boolean
return boolean whether the email was sent
    public function sendEmail($runValidation = true)
    {
        if ($runValidation && !$this->validate()) {
            return false;
        }
        $session = Yii::$app->session;
        $session['emailTimeout'] = time() + 1800;
        $session['emailNext'] = time() + 60;
        $session['emailBind'] = $this->email;
        $session['emailVerifyCode'] = (string) mt_rand(100000, 999999);
        return Yii::$app->mailer->compose(['html' => 'bindEmail-html', 'text' => 'bindEmail-text'], ['verifyCode' => $session['emailVerifyCode'], 'mobile' => Yii::$app->user->identity->mobile])->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name])->setTo($this->email)->setSubject('绑定邮箱')->send();
    }

Usage Example

Example #1
0
 public function actionSendEmail()
 {
     $emailBindRequestForm = new EmailBindRequestForm();
     Yii::$app->response->format = Response::FORMAT_JSON;
     $emailBindRequestForm->email = Yii::$app->session['emailBind'];
     if ($emailBindRequestForm->validate() && $emailBindRequestForm->sendEmail()) {
         return ['status' => 'ok'];
     }
     return ['status' => 'err', 'msg' => $emailBindRequestForm->getFirstError('email')];
 }
All Usage Examples Of frontend\models\EmailBindRequestForm::sendEmail