コード例 #1
0
 /**
  * Sends an email with a link, for resetting the password.
  *
  * @return boolean whether the email was send
  */
 public function sendEmail()
 {
     /* @var $user User */
     $user = \common\models\User::findOne(['status' => ['active', 'inactive'], 'email' => $this->email]);
     // \yii\helpers\VarDumper::dump($user);
     //  die;
     $data = array();
     $user->generatePasswordResetToken();
     $userProfile = \common\models\UserProfile::findOne(['user_id' => $user->id]);
     if ($user->user_type == 'admin') {
         $resetLink = Yii::$app->urlManager->createAbsoluteUrl(['auth/login/reset-password', 'token' => $user->ud_temp_password]);
         $data['user'] = $userProfile->first_name . ' ' . $userProfile->last_name;
     } else {
         $resetLink = Yii::$app->urlManager->createAbsoluteUrl(['auth/login/reset-password', 'token' => $user->ud_temp_password]);
         $data['user'] = $userProfile->first_name . ' ' . $userProfile->last_name;
     }
     if ($user->save(false)) {
         $resetLink = $resetLink;
         $data['to'] = $user->email;
         $data['link'] = $resetLink;
         $data['request'] = "forget_password";
         Utility::sendMail($data);
         return true;
     }
     return false;
 }
コード例 #2
0
ファイル: Utility.php プロジェクト: rubedkhan2149/2149
 public static function sendMail($data)
 {
     $from = Utility::getConfig('admin_email');
     $url = parse_url(\yii::$app->urlManager->getHostInfo());
     $search = ['{copyright}' => '© ' . date('Y') . ' - ' . \yii::$app->urlManager->getHostInfo() . ' All rights reserved.', '{logo}' => \yii::getAlias('@base_url') . '/images/logo.jpg', '{domain_name}' => $url['host'], '{domain_url}' => \yii::$app->urlManager->getHostInfo()];
     switch ($data['request']) {
         case "forget_password":
             $subject = "Reset Password Link";
             $to = $data['to'];
             $link = $data['link'];
             $emailModel = EmailTemplate::getEmailTemplate('forget_password');
             $emailContent = $emailModel->content;
             $search['{name}'] = ucwords($data['user']);
             $search['{link}'] = $data['link'];
             $emailContent = str_replace(array_keys($search), array_values($search), $emailContent);
             break;
         case "user_registration":
             $subject = "Registration";
             $to = $data['to'];
             $link = $data['activationLink'];
             $emailModel = EmailTemplate::getEmailTemplate('user_registration');
             $emailContent = $emailModel->content;
             $emailContent = str_replace('{name}', ucwords($data['user_name']), $emailContent);
             $emailContent = str_replace('{link}', $data['activationLink'], $emailContent);
             break;
         case "newsletter":
             $subject = $data['subject'];
             $to = $data['email'];
             $emailModel = EmailTemplate::getEmailTemplate('news_letter');
             $emailContent = $emailModel->et_content;
             $emailContent = str_replace('{name}', $to, $emailContent);
             $emailContent = str_replace('{message}', $data['message'], $emailContent);
             break;
         default:
             echo "default case";
     }
     \Yii::$app->mail->compose()->setFrom($from)->setTo($to)->setSubject($subject)->setHtmlBody($emailContent)->send();
     return true;
 }