現在の位置: ホーム> 最新記事一覧> PHPとPHPMailerを使用して電子メールを登録解除する方法:完全なガイド

PHPとPHPMailerを使用して電子メールを登録解除する方法:完全なガイド

M66 2025-06-20

PHPとPHPMailerを使用して電子メールを登録解除する方法:完全なガイド

電子メールの人気により、多くの企業や個人は電子メールを使用して宣伝と販売を行います。ただし、受信者が受け取ったメールに興味がない場合や、メールを受け取っていると感じている場合があります。ユーザーに適切に対応するには、ユーザーがメールから簡単に登録できるようにする機能を提供する必要があります。この記事では、PHPとPHPMailerを使用して、電子メール送信の登録解除機能を実装する方法を紹介します。

ユーザーデータベースを作成します

まず、ユーザーのサブスクリプションステータスを保存するには、ユーザーデータベースが必要です。 MySQLデータベースを使用して、ユーザーのID、電子メールアドレス、サブスクリプションステータスのフィールドを含む「サブスクライバー」と呼ばれるデータテーブルを作成できます。このテーブルを作成するための簡単なSQLステートメントを次に示します。

テーブルサブスクライバーを作成します(
    id int(11)auto_incrementプライマリキー、
    メールvarchar(255)nullではなく、
    サブスクライブtinyint(1)nol null default '1'
);

登録解除ページを作成します

次に、ユーザーが電子メールアドレスを入力できるようにして、電子メールから登録解除を選択できるかどうかを選択できるページを作成する必要があります。 HTMLフォームの例は次のとおりです。

<form action="unsubscribe.php" method="post">
    <label for="email">電子メールアドレス:</label>
    <input type="email" id="email" name="email" required>
    <label for="unsubscribe">登録解除メール:</label>
    <input type="checkbox" id="unsubscribe" name="unsubscribe" value="1">
    <input type="submit" value="提案しますする">
</form>

ユーザー入力を処理します:登録ロジックを解除します

登録解除ページでは、ユーザーの入力を処理するためにPHPスクリプトを記述する必要があります。まず、データベースに接続してから、ユーザーにメールアドレスを入力して、POSTリクエストから選択の登録を解除する必要があります。

<?php
// データベースに接続します
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";

$connection = mysqli_connect($host, $username, $password, $database);

// ユーザー入力を取得します
$email = $_POST['email'];
$unsubscribe = isset($_POST['unsubscribe']) ? 1 : 0;

// サブスクリプションステータスを更新します
$query = "UPDATE subscribers SET subscribed = $unsubscribe WHERE email = '$email'";
mysqli_query($connection, $query);

// データベース接続を閉じます
mysqli_close($connection);
?>

電子メールの送信ロジックを変更する:登録されていないユーザーに送信を避けないでください

次に、メールを送信する前にユーザーのサブスクリプションステータスを確認できるように、メールで送信されたコードを変更する必要があります。 phpmailerを使用してメールを送信するコードでは、メールを送信する前に次のチェックを追加できます。

<?php
// データベースに接続します
$host = "localhost";
$username = "your_username";
$password = "your_password";
$database = "your_database";

$connection = mysqli_connect($host, $username, $password, $database);

// 受信者のメールアドレスを取得します
$to = "receiver_email@example.com";

// 受信者のサブスクリプションステータスをクエリします
$query = "SELECT subscribed FROM subscribers WHERE email = '$to'";
$result = mysqli_query($connection, $query);
$row = mysqli_fetch_assoc($result);

// 受信者が電子メールを登録していない場合,電子メールは送信されません
if ($row['subscribed'] == 0) {
    exit;
}

// 電子メールを送信するためのコード
// ...
?>

要約します

PHPとPHPMailerを組み合わせることにより、電子メール送信の登録解除機能を簡単に実装できます。まず、ユーザーのサブスクリプションステータスを保存するには、ユーザーデータベースが必要です。次に、ユーザーが電子メールアドレスを入力し、電子メールから登録解除するかどうかを選択できるように、登録解除ページを作成します。最後に、電子メールで送信されたコードを変更し、メールを送信する前に受信者のサブスクリプションステータスを確認します。このようなプロセスを通じて、私たちはより良いサービスを提供し、ユーザーの希望を尊重することができます。