ホームページ  >  記事  >  バックエンド開発  >  Yii フレームワークで電子メールアクティベーションを実装する方法

Yii フレームワークで電子メールアクティベーションを実装する方法

不言
不言オリジナル
2018-05-04 11:33:201183ブラウズ

この記事では主にメールボックスのアクティベーションを実現するための Yii フレームワークの方法を紹介します。メールボックスに基づいて電子署名のアクティベーション機能を実現します。

この記事の例は Yii の方法を説明しています。メールボックスのアクティブ化を実現するフレームワーク。参考までに皆さんと共有してください。詳細は次のとおりです:

Controller:

//发送邮箱,激活账号
public function actionEmail()
{
    $email=Yii::$app->request->get('email');
    //数字签名
    $em_1=md5($email);
    //邮箱发送
    $mail= Yii::$app->mailer->compose();
    $mail->setTo($email);
    $mail->setSubject("激活邮箱");
    //发布可以带html标签的文本
    $mail->setHtmlBody("<a href=&#39;http://www.small2.com/backend/web/index.php?r=login/live&em_1=".$em_1."&email=".$email."&#39;>点击此链接</a>");
    if($mail->send())
      echo "success";
    else
      echo "false";
    die(); //邮箱发送ok
}
//激活账号
public function actionLive()
{
   $email=Yii::$app->request->get(&#39;email&#39;);
   $em_1=Yii::$app->request->get(&#39;em_1&#39;);
   //echo $em_1;die;
   $em_2=md5($email);
   //echo $em_2;die;
   if($em_1==$em_2)
   {
     $res=Yii::$app->db;
     $data=$res->createCommand()->update("login",["status"=>1],["email"=>$email])->execute();
     if($data)
     {
      echo "<script>alert(&#39;激活成功,可登录&#39;);location.href=&#39;index.php?r=login/login&#39;</script>";
     }
     else
     {
       echo "<script>alert(&#39;激活失败&#39;);location.href=&#39;index.php?r=login/login&#39;</script>";
     }
   }
   else
   {
     echo "<script>alert(&#39;参数错误,重新激活&#39;);location.href=&#39;index.php?r=login/login&#39;</script>";
   }
}

Principle: (登録後、元のデフォルトのステータス status=0、アクティベーション後、それを 1 に変更してください)ログインします。)

関連する推奨事項:

Yii2 フレームワークは、ログイン、ログアウト、自動ログイン機能を実装します

Yii2 フレームワークが可逆暗号化を実装する簡単な方法を共有します

以上がYii フレームワークで電子メールアクティベーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。