ホームページ PHPフレームワーク ThinkPHP ThinkPHP フレームワークが電子メールアクティベーション機能を実装する方法の詳細な説明

ThinkPHP フレームワークが電子メールアクティベーション機能を実装する方法の詳細な説明

Jun 11, 2021 pm 12:00 PM
thinkphp

thinkphp フレームワーク の次のチュートリアル コラムでは、ThinkPHP フレームワークが電子メール アクティベーション機能を実装する方法を紹介します。

詳細は次のとおりです。

構成フレームワークは、以下に示すように、ThinkPHP3.1 フレームワークを採用しています。

構成プロセス図:

ThinkPHP フレームワークが電子メールアクティベーション機能を実装する方法の詳細な説明

1. 次のように構成を変更します:

<?php
return array(
  //&#39;配置项&#39;=>&#39;配置值&#39;
    &#39;MAIL_ADDRESS&#39;=>&#39;shcg666@sohu.com&#39;, // 邮箱地址
    &#39;MAIL_SMTP&#39;=>&#39;smtp.sohu.com&#39;, // 邮箱SMTP服务器
    &#39;MAIL_LOGINNAME&#39;=>&#39;shcg666@sohu.com&#39;, // 邮箱登录帐号
    &#39;MAIL_PASSWORD&#39;=>&#39;******&#39;, // 邮箱密码
);
ログイン後にコピー

2. 関数 ## にクラスを追加します。 #

<?php
class EmailAction extends Action{
  /*
  * microtime() 函数返回当前 Unix 时间戳和微秒数。
  * mt_srand() 播种 Mersenne Twister 随机数生成器。从 PHP 4.2.0 版开始,seed 参数变为可选项,当该项为空时,会被设为随时数。
  * 注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已自动完成。
  * pow — 指数表达式
  */
  //random()这个函数是我用来生成一个随机数的,$numeric = 0生成一个6位的大小写字母与数字混合的字符串。$numeric = 1生成一个6位数字的字符串
  public function random($length = 6 , $numeric = 0) {
  PHP_VERSION < &#39;4.2.0&#39; && mt_srand((double)microtime() * 1000000);
  if($numeric) {
    $hash = sprintf(&#39;%0&#39;.$length.&#39;d&#39;, mt_rand(0, pow(10, $length) - 1));
  } else {
    $hash = &#39;&#39;;
    $chars = &#39;ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz&#39;;
    $max = strlen($chars) - 1;
    for($i = 0; $i < $length; $i++) {
      $hash .= $chars[mt_rand(0, $max)];
    }
  }
  return $hash;
  }
  //发送邮件的方法
  public function index(){
    //生成6位激活码
    $random = $this->random(6,0);
    //获取本网站的域名,域名在config里面配置下.
    //例如&#39;domain&#39; => &#39;http://write.blog.csdn.net&#39;,
    $domain = C(&#39;domain&#39;);
    //生成激活码模块地址
    $url = $domain.U("Home/Email/activate")."/?yam=$random";
    //将邮件地址和随机数放入session
    session("shcg666@sohu.com","$random");
    //发送邮件
    SendMail("shcg666@sohu.com","这是邮件标题","将此网址复制到浏览框$url");
  }
}
function SendMail($address,$title,$message){
  //引入文件
  vendor(&#39;PHPMailer.class#PHPMailer&#39;);
  require("phpmailer/class.phpmailer.php");
  require("phpmailer/class.smtp.php");
  //实例化邮件类
  $mail=new PHPMailer();
  // 设置PHPMailer使用SMTP服务器发送Email
  $mail->IsSMTP();
  // 设置邮件的字符编码,若不指定,则为&#39;UTF-8&#39;
  $mail->CharSet=&#39;UTF-8&#39;;
  // 添加收件人地址,可以多次使用来添加多个收件人
  $mail->AddAddress($address);
  // 设置邮件正文
  $mail->Body=$message;
  // 设置邮件头的From字段。//发件人
  $mail->From=C(&#39;MAIL_ADDRESS&#39;);
  // 设置发件人名字
  $mail->FromName=&#39;LilyRecruit&#39;;
  // 设置邮件标题
  $mail->Subject=$title;
  // 设置SMTP服务器。
  $mail->Host=C(&#39;MAIL_SMTP&#39;);
  // 设置为"需要验证"
  $mail->SMTPAuth=true;
  // 设置用户名和密码。
  $mail->Username=C(&#39;MAIL_LOGINNAME&#39;);
  $mail->Password=C(&#39;MAIL_PASSWORD&#39;);
  // 发送邮件。
  return($mail->Send());
}
ログイン後にコピー

3. インポートされたファイル

インターネットから PHPMailer パッケージをダウンロードし、class.smtp.php と class.phpmailer.php を変更せずに直接コピーします。

リンク

をクリックして、class.smtp.php ファイル (https://share.weiyun.com/6ECQn7Mq)

をダウンロードします。 class.phpmailer.php ファイルの完全なサンプル コードについては、リンク

をクリックしてダウンロード (https://share.weiyun.com/beakkcPt)

してください。 設定は完了しました。特定の処理方法をさらに変更する必要があります。

4. 共通メールサーバー (受信サーバーと送信メールサーバー) アドレス

Tencent QQ メールボックス

受信サーバー: Pop.qq.com

送信サーバー: smtp.qq.com

Netease 126 メールボックス

受信サーバー: Pop3.126.com

送信サーバー: smtp.126.com

Netease 163 フリー メール

受信サーバー:pop.163.com

送信サーバー:smtp.163.com

NetEase 163VIP メールボックス

受信サーバー:pop.vip.163.com

送信サーバー:smtp。 vip.163.com

NetEase 188 Fortune Mail

受信サーバー:pop.188.com

送信サーバー:smtp.188.com

NetEaseYeah.netメールボックス

受信サーバー:pop.yeah.net

送信サーバー:smtp.yeah.net

Netease netease.com メールボックス

受信サーバー:pop.netease.com

送信サーバー:smtp。 netease.com

Sina 有料メールボックス

受信サーバー: Pop3.vip.sina.com

送信サーバー: smtp.vip.sina.com

Sina 無料メールボックス

受信サーバー:pop3.sina.com.cn

送信サーバー:smtp.sina.com.cn

Sohu メールボックス

受信サーバー:pop3.sohu.com

送信サーバー:smtp。 sohu.com

21cnhappymail

受信サーバー: vip.21cn.com

送信サーバー: vip.21cn.com

21cn 経済メール

受信サーバー: Pop .163 .com

送信サーバー: smtp.163.com

tom メールボックス

受信サーバー: Pop.tom.com

送信サーバー: smtp.tom.com

263mailbox

受信サーバー: 263.net

送信サーバー: smtp.263.net

NetEase 163.com メールボックス

受信サーバー: rwypop.china.com

送信サーバー: rwypop。 china.com

Yahoo メールボックス

受信サーバー: Pop.mail.yahoo.com

送信サーバー: smtp.mail.yahoo.com

Gmail メールボックス

受信サーバー:pop.gmail.com

送信サーバー:smtp.gmail.com

関連する推奨事項:
最新の 10 件の thinkphp ビデオ チュートリアル

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法 Nov 22, 2023 pm 12:01 PM

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件が​​ますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

thinkphpのパフォーマンスはどうですか? thinkphpのパフォーマンスはどうですか? Apr 09, 2024 pm 05:24 PM

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

ファイル転送機能を実現するThinkPHP6とSwooleをベースとしたRPCサービス ファイル転送機能を実現するThinkPHP6とSwooleをベースとしたRPCサービス Oct 12, 2023 pm 12:06 PM

ThinkPHP6 と Swoole をベースとした RPC サービスがファイル転送機能を実装 はじめに: インターネットの発展に伴い、ファイル転送は私たちの日常業務においてますます重要になってきています。この記事では、ファイル転送の効率化とセキュリティを向上させるために、ThinkPHP6とSwooleをベースとしたファイル転送機能を実現するRPCサービスの具体的な実装方法を紹介します。 WebフレームワークとしてThinkPHP6を使用し、SwooleのRPC機能を利用してサーバー間のファイル転送を実現します。 1. 環境基準

See all articles