ホームページ  >  記事  >  バックエンド開発  >  マスター PHP と PHPMAILER: メール送信の配信停止機能を実装するにはどうすればよいですか?

マスター PHP と PHPMAILER: メール送信の配信停止機能を実装するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-07-21 14:58:461250ブラウズ

マスター PHP と PHPMAILER: 電子メール送信の購読解除機能を実装するにはどうすればよいですか?

電子メールの普及により、多くの企業や個人がプロモーションやマーケティングに電子メールを使用しています。ただし、受信者が受信したメールに興味がなかったり、受信したメールが多すぎると感じる場合もあります。ユーザーにより良いサービスを提供するには、ユーザーがメールの購読を簡単に解除できる機能を提供する必要があります。今回はPHPとPHPMailerを使ってメール送信の配信停止機能を実装する方法を紹介します。

まず、ユーザーのサブスクリプション ステータスを保存するユーザー データベースが必要です。 MySQL データベースを使用して、ユーザーの ID、電子メール アドレス、サブスクリプション ステータスのフィールドを含む「subscribers」という名前のデータ テーブルを作成できます。以下は、テーブルを作成するための簡単な SQL ステートメントです:

CREATE TABLE subscribers (

id INT(11) AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
subscribed TINYINT(1) NOT 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);
?>

ユーザーが購読解除ページでフォームを送信すると、データベース内の対応する電子メール アドレスの購読ステータスを更新できます。ユーザーが電子メールの購読を解除することを選択した場合、購読ステータスは 0 に更新され、ユーザーが電子メールの受信を希望しないことを示します。ユーザーが電子メールの購読を中止することを選択しなかった場合は、購読ステータスを 1 に維持します。ユーザーが電子メールを受信し続けること。

次に、電子メール送信コードを変更して、電子メールを送信する前にユーザーのサブスクリプション ステータスを確認する必要があります。 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 を組み合わせることで、メール送信の配信停止機能を簡単に実装できます。まず、ユーザーの購読ステータスを保存するユーザー データベースが必要です。次に、ユーザーが電子メール アドレスを入力して電子メールの購読を中止するかどうかを選択できるように購読中止ページを作成します。最後に、電子メールを送信するためのコードを変更します。メッセージを送信する前に受信者の購読ステータスを確認します。このようなプロセスを通じて、ユーザーの意向を尊重し、より良いサービスを提供することができます。

以上、PHPとPHPMailerを使ってメール送信の配信停止機能を実装する方法の紹介でした。

以上がマスター PHP と PHPMAILER: メール送信の配信停止機能を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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