現在の位置: ホーム> 最新記事一覧> PHPが登録するときに電子メール検証電子メールを送信するためのチュートリアルを完全にする

PHPが登録するときに電子メール検証電子メールを送信するためのチュートリアルを完全にする

M66 2025-08-04

ユーザーをPHPに登録するときに検証メールを送信する手順を実装する手順

ユーザー登録機能は、最新のWebサイトの不可欠な部分です。ユーザーが提供するメールアドレスが有効かつ真実であることを確認するために、ユーザーの身元は通常、検証メールを送信することで確認されます。この記事では、この機能をPHPで実装する方法を紹介し、開発者が迅速に開始できるように実用的なコード例を提供します。

SMTPサーバーを構成します

メールの送信は、SMTPサーバーによって異なります。 PHPMailerライブラリを使用して、メールの送信を完了することをお勧めします。 Composerを介してPHPMailerを最初にインストールします。

 Composerにはphpmailer/phpmailerが必要です

インストールが完了したら、自動読み込みファイルをプロジェクトに導入します。

 「ベンダー/autoload.php」が必要です。

次に、サーバーアドレス、ポート、ユーザー名、パスワードなどを含むSMTPサーバーパラメーターを構成し、特定の構成は使用されるメールサービスプロバイダーに基づいています。

ユーザー登録リクエストを処理します

ユーザーが登録フォームを提出する場合、ユーザー名や電子メールなど、最初にユーザーが入力した情報を受信します。

 $ username = $ _post ['username'];
$ email = $ _post ['email'];

後続のメールボックス検証のために、一意の検証識別子を生成します。

 $ token = bin2hex(random_bytes(16));

データベースにユーザー情報と検証識別子を保存して、検証中に検索と更新を容易にします。

検証リンクを生成し、電子メールを送信します

検証識別子を含むリンクを構築すると、ユーザーはクリック後に電子メールの確認を完了できます。

 $ vilificationlink = "http://yourdomain.com/verify.php?token="。 $トークン;

PHPMailerを使用して電子メールを送信し、検証リンクが電子メールボディにあります。

 $ mail = new phpmailer \ phpmailer \ phpmailer();
$ mail-> sismtp();
$ mail-> host = 'smtp.example.com';
$ mail-> port = 587;
$ mail-> smtpsecure = 'tls';
$ mail-> smtpauth = true;
$ mail-> username = 'username@example.com';
$ mail-> password = 'password';
$ mail-> setfrom('from@example.com '、' Your Site ');
$ mail-> addaddress($ email、$ username);
$ mail-> subject = 'メールアドレスを確認してください';
$ mail-> body = '二流のリンクをクリックして、メールアドレスを確認してください:'。 $ vidificationlink;
if(!$ mail-> send()){
    Echo 'メール配信は失敗しました。 ';
    エコー 'エラーメッセージ:'。 $ mail-> errorinfo;
} それ以外 {
    Echo '検証メールが送信されました。確認してください。 ';
}

ユーザーのメールを確認します

ユーザーが検証リンクをクリックすると、検証ページ(verify.php)は、URLでトークンパラメーターを取得して検証プロセスを完了します。

 $ token = $ _get ['token'];

データベースをクエリトークンに従って照会し、対応するユーザーを確認し、検証する電子メール検証ステータスを更新し、検証結果をユーザーに表示します。

要約します

上記の手順を通じて、開発者は、ユーザーがPHPプロジェクトに登録したときに電子メール検証メールを送信するという完全な機能を実現できます。これにより、ユーザー登録のセキュリティが向上するだけでなく、無効な電子メールの登録を効果的に回避し、ウェブサイトの管理効率とユーザーエクスペリエンスを改善します。