Explorer PHP et PHPMAILER : Comment suivre les liens d'abonnement dans les emails ?
Citation :
Avec le développement d'Internet, les fonctions d'abonnement sont de plus en plus courantes dans les sites Web et les applications. Le suivi des liens d'abonnement est important pour offrir une expérience utilisateur personnalisée et analyser le comportement des utilisateurs. Dans cet article, nous explorerons comment utiliser PHP et la bibliothèque PHPMailer pour suivre les clics et les ouvertures de liens d'abonnement dans les e-mails.
1. Préparation :
Avant de commencer à écrire du code, nous devons nous assurer que les conditions suivantes sont remplies :
1.1 Assurez-vous que PHP est installé et que les variables d'environnement sont correctement définies.
1.2. Téléchargez et installez la bibliothèque PHPMailer. La dernière version de PHPMailer peut être téléchargée sur le site officiel (https://github.com/PHPMailer/PHPMailer).
1.3. Assurez-vous d'avoir créé une base de données et d'y créer un tableau pour enregistrer les données de suivi du lien d'abonnement. Voici un exemple de requête SQL pour créer une table :
CREATE TABLE tracking
(tracking
(
id
int(11) NOT NULL AUTO_INCREMENT,
email
varchar(255) NOT NULL,
link
varchar(255) NOT NULL,
time_clicked
datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
id
int(11) NOT NULL AUTO_INCREMENT,
email
varchar(255) NON NULL,
link
varchar(255) NON NULL, time_clicked
datetime DEFAULT CURRENT_TIMESTAMP,
CLÉ PRIMAIRE (id
)
Tout d'abord, nous devons créer un fichier PHP pour gérer le suivi des clics du lien d'abonnement. Ce qui suit est un exemple de code, le fichier s'appelle "track.php" :
<?php require_once 'path/to/PHPMailerAutoload.php'; if(isset($_GET['link'])) { $link = $_GET['link']; // 这里可以根据具体需求添加更多的链接跟踪逻辑 // ... $subscriber_email = ''; // 将用户的邮件地址设置为订阅者的Email地址 $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.example.com'; $mail->SMTPAuth = true; $mail->Username = 'your-email@example.com'; $mail->Password = 'your-email-password'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom('from-email@example.com', 'Your Name'); $mail->addAddress($subscriber_email); $mail->Subject = 'Subscription Tracking'; $mail->Body = 'Thank you for subscribing!'; // 当订阅者点击链接时,将记录跟踪数据到数据库 $mysqli = new mysqli('localhost', 'username', 'password', 'database_name'); $mysqli->query("INSERT INTO `tracking` (email, link) VALUES ('$subscriber_email', '$link')"); // 将邮件发送给订阅者 if(!$mail->send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; } } ?>
Ensuite, nous devons générer un e-mail contenant le lien d'abonnement. Vous trouverez ci-dessous un exemple de code PHP pour générer un e-mail contenant un lien d'abonnement. Le fichier s'appelle "send_email.php" :
<?php require_once 'path/to/PHPMailerAutoload.php'; $subscriber_email = ''; // 将用户的邮件地址设置为订阅者的Email地址 $link = 'http://your-website.com/track.php?link=' . urlencode($subscriber_email); $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.example.com'; $mail->SMTPAuth = true; $mail->Username = 'your-email@example.com'; $mail->Password = 'your-email-password'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom('from-email@example.com', 'Your Name'); $mail->addAddress($subscriber_email); $mail->Subject = 'Subscribe to our newsletter'; $mail->Body = 'Click the following link to subscribe: <a href="'.$link.'">'.$link.'</a>'; if(!$mail->send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; } ?>
En utilisant PHP et la bibliothèque PHPMailer, nous pouvons facilement suivre les clics et les ouvertures de liens d'abonnement dans les e-mails. Ce mécanisme de suivi nous aide à mieux comprendre le comportement des utilisateurs et à offrir une expérience utilisateur plus personnalisée. J'espère que cet article vous sera utile lors de la mise en œuvre de la fonction d'abonnement.
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!