Avec la popularité des e-mails, de nombreuses entreprises et particuliers utilisent le courrier électronique pour promouvoir et commercialiser. Cependant, parfois le destinataire peut être intéressé par l'e-mail reçu ou estimer qu'il a reçu trop de courriels. Pour mieux servir nos utilisateurs, nous devons fournir une fonctionnalité qui permet aux utilisateurs de se désabonner facilement des e-mails. Dans cet article, je vais 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 utilisateur pour stocker l'état d'abonnement de l'utilisateur. Vous pouvez utiliser la base de données MySQL pour créer un tableau de données appelé "abonnés" qui contient des champs de l'ID de l'utilisateur, de l'adresse e-mail et de l'état d'abonnement. Voici une instruction SQL simple pour créer ce tableau:
Créer des abonnés de table ( id int (11) Clé primaire Auto_Increment, Email Varchar (255) pas nul, souscrit tinyint (1) pas null par défaut «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 de l'e-mail. Voici un exemple de forme HTML:
<form action="unsubscribe.php" method="post"> <label for="email">Adresse email:</label> <input type="email" id="email" name="email" required> <label for="unsubscribe">Email de désabonnement:</label> <input type="checkbox" id="unsubscribe" name="unsubscribe" value="1"> <input type="submit" value="soumettre"> </form>
Sur la page de désabonnement, nous devons écrire un script PHP pour traiter l'entrée de l'utilisateur. Tout d'abord, nous devons nous connecter à la base de données, puis faire saisir l'utilisateur de l'utilisateur et désabonner la sélection à partir de la demande de publication.
<?php // Connectez-vous à la base de données $host = "localhost"; $username = "your_username"; $password = "your_password"; $database = "your_database"; $connection = mysqli_connect($host, $username, $password, $database); // Obtenez la saisie des utilisateurs $email = $_POST['email']; $unsubscribe = isset($_POST['unsubscribe']) ? 1 : 0; // Mettre à jour le statut d'abonnement $query = "UPDATE subscribers SET subscribed = $unsubscribe WHERE email = '$email'"; mysqli_query($connection, $query); // Fermez la connexion de la base de données mysqli_close($connection); ?>
Ensuite, nous devons modifier le code envoyé par l'e-mail afin que nous puissions vérifier l'état de l'abonnement de l'utilisateur avant d'envoyer l'e-mail. Dans le code qui utilise PHPMailer pour envoyer des e-mails, nous pouvons ajouter le chèque suivant avant d'envoyer les e-mails:
<?php // Connectez-vous à la base de données $host = "localhost"; $username = "your_username"; $password = "your_password"; $database = "your_database"; $connection = mysqli_connect($host, $username, $password, $database); // Obtenez l'adresse e-mail du destinataire $to = "receiver_email@example.com"; // Interroger l'état d'abonnement du destinataire $query = "SELECT subscribed FROM subscribers WHERE email = '$to'"; $result = mysqli_query($connection, $query); $row = mysqli_fetch_assoc($result); // Si le destinataire a désabonné l'e-mail,Aucun e-mail envoyé if ($row['subscribed'] == 0) { exit; } // Code pour envoyer un e-mail // ... ?>
En combinant PHP et PHPMailer, nous pouvons facilement 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 utilisateur pour stocker l'état d'abonnement de l'utilisateur; Ensuite, nous créons une page de désabonnement, permettant à l'utilisateur de saisir son adresse e-mail et de choisir de se désabonner de l'e-mail; Enfin, nous modifions le code envoyé par l'e-mail et vérifions l'état d'abonnement du destinataire avant d'envoyer l'e-mail. Grâce à un tel processus, nous pouvons fournir de meilleurs services et respecter les souhaits des utilisateurs.