Maison  >  Article  >  développement back-end  >  Maîtriser PHP et PHPMAILER : Comment implémenter la fonction de désabonnement de l'envoi d'emails ?

Maîtriser PHP et PHPMAILER : Comment implémenter la fonction de désabonnement de l'envoi d'emails ?

WBOY
WBOYoriginal
2023-07-21 14:58:461251parcourir

Maîtriser PHP et PHPMAILER : Comment implémenter la fonction de désabonnement de l'envoi d'emails ?

Avec la popularité du courrier électronique, de nombreuses entreprises et particuliers utilisent le courrier électronique à des fins de promotion et de marketing. Cependant, il arrive parfois que le destinataire ne soit pas intéressé par les e-mails qu'il reçoit ou qu'il ait l'impression d'avoir reçu trop d'e-mails. Pour mieux servir nos utilisateurs, nous devons fournir une fonctionnalité qui permet aux utilisateurs de se désinscrire facilement des e-mails. Dans cet article, je vais vous présenter comment utiliser PHP et PHPMailer pour implémenter la fonction de désabonnement de l'envoi d'e-mails.

Tout d'abord, nous avons besoin d'une base de données d'utilisateurs pour stocker le statut d'abonnement de l'utilisateur. Nous pouvons utiliser la base de données MySQL pour créer une table de données nommée « abonnés » qui contient des champs pour l'ID de l'utilisateur, l'adresse e-mail et le statut de l'abonnement. Ce qui suit est une simple instruction SQL pour créer une table :

CREATE TABLE abonnés (

id INT(11) AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
subscribed TINYINT(1) NOT NULL DEFAULT '1'

);

Ensuite, nous devons créer une page de désabonnement qui permet aux utilisateurs de saisir leur adresse e-mail et de choisir de se désabonner du courrier. Sur cette page, nous pouvons utiliser des formulaires HTML pour collecter les commentaires des utilisateurs. Voici un exemple simple :

<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>

Sur la page de désabonnement, nous devons écrire un script PHP pour traiter la saisie de l'utilisateur. Tout d’abord, nous devons nous connecter à la base de données, puis obtenir l’adresse e-mail saisie par l’utilisateur et le choix de désabonnement de la requête POST. Voici un exemple simple :

<?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);
?>

Une fois que l'utilisateur soumet le formulaire sur la page de désabonnement, nous pouvons mettre à jour le statut d'abonnement de l'adresse email correspondante dans la base de données. Si l'utilisateur choisit de se désabonner de l'e-mail, nous mettons à jour le statut d'abonnement à 0, indiquant que l'utilisateur ne souhaite plus recevoir d'e-mails ; si l'utilisateur ne choisit pas de se désinscrire de l'e-mail, nous maintenons le statut d'abonnement à 1, indiquant que l'utilisateur continue de recevoir des e-mails.

Ensuite, nous devons modifier le code d'envoi de l'e-mail pour vérifier l'état d'abonnement de l'utilisateur avant d'envoyer l'e-mail. Dans le code qui utilise PHPMailer pour envoyer des emails, nous pouvons ajouter la vérification suivante avant d'envoyer l'e-mail :

<?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;
}

// 发送邮件的代码
// ...
?>

En interrogeant le statut d'abonnement du destinataire avant d'envoyer l'e-mail, nous pouvons éviter d'envoyer des e-mails aux utilisateurs qui se sont désabonnés.

En résumé, en combinant PHP et PHPMailer, on peut facilement implémenter la fonction de désabonnement de l'envoi d'email. Tout d'abord, nous avons besoin d'une base de données d'utilisateurs pour stocker le statut d'abonnement de l'utilisateur ; ensuite, nous créons une page de désabonnement pour que les utilisateurs puissent saisir leur adresse e-mail et choisir de se désinscrire de l'e-mail ; enfin, nous modifions le code d'envoi de l'e-mail ; le statut d'abonnement du destinataire avant d'envoyer un message. Grâce à un tel processus, nous pouvons fournir de meilleurs services et respecter les souhaits des utilisateurs.

Ce qui précède est une introduction sur la façon d'utiliser PHP et PHPMailer pour implémenter la fonction de désabonnement de l'envoi d'e-mails. J'espère que cela vous sera utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn