現在の位置: ホーム> 最新記事一覧> PHPを使用して画像検証コードを含む複数のメールを送信する方法 - チュートリアルを完了し、サンプルコード

PHPを使用して画像検証コードを含む複数のメールを送信する方法 - チュートリアルを完了し、サンプルコード

M66 2025-07-14

PHPを使用して、画像検証コードで複数の電子メールを送信する方法

現代社会では、電子メールは重要なコミュニケーションツールになりました。多くの場合、パスワードの登録時にユーザーの身元を確認したり、パスワードをリセットするなど、電子メールを通じて確認コードを送信する必要があります。セキュリティとユーザーエクスペリエンスを強化するために、検証コードは通常、写真の形で送信されます。この記事では、PHPを使用して画像検証コードを含むメールを送信し、特定のコードの例を紹介する方法を紹介します。

PHPメーラーライブラリの紹介

まず、非常に人気があり、使いやすい郵便配達ライブラリであるPHP Mailer Libraryを紹介する必要があります。それを通して、SMTPプロトコルを使用して電子メールを簡単に送信できます。このライブラリを導入した後、コード内の検証コードを含む電子メールを送信する機能を実装できます。

検証コード画像を生成します

検証コード写真を生成することが重要なステップです。これを実現するために、PHPのGDライブラリを使用できます。これにより、検証コード画像を生成するのに役立つ機能がいくつかあります。以下は、PHPを使用して検証コード画像を生成するためのサンプルコードです。

<?php
session_start();
$code = ""; // 生成された検証コードを保存します
$width = 200; // 画像幅
$height = 100; // 画像の高さ
$codeLength = 4; // 検証コードの長さ
$image = imagecreate($width, $height);
$bgColor = imagecolorallocate($image, 255, 255, 255); // 背景色(白)
$fontColor = imagecolorallocate($image, 0, 0, 0); // フォントカラー(黒)
$fonts = array('arial.ttf', 'verdana.ttf', 'times.ttf'); // フォントファイルリスト
for ($i = 0; $i < $codeLength; $i++) {
    $font = $fonts[array_rand($fonts)]; // ランダムにフォントを選択します
    $char = chr(rand(65, 90)); // ランダムに生成された文字(A-Z)
    $code .= $char;
    imagettftext($image, 30, rand(-30, 30), 20 + $i * $width / $codeLength, 50, $fontColor, $font, $char); // 文字を描きます
}
$_SESSION['code'] = $code; // 検証コードをに保存しますsession
header('Content-Type: image/jpeg');
imagejpeg($image); // 出力画像
imagedestroy($image);

上記のコードは、200x100ピクセル検証コード画像を生成し、検証コードをセッションに保存します。

PHPメーラーを介して検証コード画像を含むメールを送信します

次に、PHPメーラーライブラリを使用して、検証コード画像のメールを送信します。これが完全なコードの例です。

<?php
require 'vendor/autoload.php'; // 紹介されたPHP Mailer図書館
use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer();
$mail-> ISSMTP();
$ mail-> host = &#39;smtp.example.com&#39;; // smtpサーバーアドレス$ mail-> port = 465; // smtpサーバーポート$ mail-> smtpsecure = &#39;ssl&#39;; //コード化方法$ mail-> smtpauth = true; // smtp認証を有効にする$ mail-> username = &#39;your_email@example.com&#39;; // username $ mail-> password = &#39;your_password&#39;; //パスワードを電子メールで送信$ mail-> setfrom(&#39;Your_email@example.com &#39;、&#39; Your Name &#39;); //送信者情報$ mail-> addaddress(&#39;Recipient@example.com &#39;、&#39;受信名 &#39;); //受信者情報$ mail-> ishtml(true); //メール形状をHTMLに設定します
$ mail-> subject = &#39;検証コードメール&#39;; //件名$ mail-> body = &#39;検証コードは:&#39;です。 $ _Session [&#39;code&#39;]; // body $ mail-> send(); //メールを送信します

上記のコードは、PHPメーラーを使用して検証コードを含む電子メールを送信する方法を示しています。コードでは、PHPを介して検証コードを生成し、電子メール本文の一部として受信者に送信します。

関数をカプセル化して、検証コードメールを送信します

繰り返しの呼び出しを容易にするために、検証コードメールを関数に送信する機能をカプセル化できます。これがパッケージの例です。

<?php
function sendEmailWithCaptcha($recipient, $name) {
    // 検証コード画像を生成し、保存しますsession真ん中
    // ...
    // 使用PHP Mailerメールを送信します
    // ...
}

このようにして、必要な場所でこの関数を簡単に呼び出して、画像検証コードを含むメールを送信できます。

要約します

この記事を通して、PHPを使用して画像検証コードを含む複数の電子メールを送信する方法を学びました。 PHPメーラーライブラリを導入し、検証コード写真を生成し、SMTPプロトコルを介して電子メールを送信することにより、プロセス全体を完了しました。このチュートリアルが役立つことを願っています!