Maison  >  Article  >  développement back-end  >  Explorez PHP et PHPMAILER : Comment suivre les liens d'abonnement dans les emails ?

Explorez PHP et PHPMAILER : Comment suivre les liens d'abonnement dans les emails ?

PHPz
PHPzoriginal
2023-07-22 22:25:551067parcourir

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)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. Écrivez le code PHP :

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

Ce qui précède est un exemple de code de base, vous pouvez le modifier et l'étendre selon vos besoins. Dans cet exemple, nous supposons que cliquer sur le lien enregistrera l'adresse e-mail de l'abonné, liera les données à la base de données et enverra un e-mail de remerciement à l'abonné.

3. Générer un lien d'abonnement :

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

Dans l'exemple de code ci-dessus, nous passons le lien d'abonnement en paramètre au fichier "track.php". Le lien est codé pour garantir que la chaîne transmise est bien formée.

Conclusion :

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.

    Lien de téléchargement pour des exemples de code : [Sample Code](https://github.com/your-github-repo/)
  • Références :
🎜🎜Site officiel de PHPMailer : https://github.com/PHPMailer/ PHPMailer 🎜🎜

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