Rumah >pembangunan bahagian belakang >tutorial php >Terokai PHP dan PHPMAILER: Bagaimana untuk menjejak pautan langganan dalam e-mel?

Terokai PHP dan PHPMAILER: Bagaimana untuk menjejak pautan langganan dalam e-mel?

PHPz
PHPzasal
2023-07-22 22:25:551091semak imbas

Meneroka PHP dan PHPMAILER: Bagaimana untuk menjejak pautan langganan dalam e-mel?

Petikan:
Dengan perkembangan Internet, fungsi langganan menjadi semakin biasa dalam tapak web dan aplikasi. Penjejakan pautan langganan adalah penting untuk memberikan pengalaman pengguna yang diperibadikan dan menganalisis tingkah laku pengguna. Dalam artikel ini, kami akan meneroka cara menggunakan PHP dan perpustakaan PHPMailer untuk menjejak klik dan membuka pautan langganan dalam e-mel.

1. Penyediaan:
Sebelum kita mula menulis kod, kita perlu memastikan bahawa syarat berikut dipenuhi:

1.1 Pastikan PHP dipasang dan pembolehubah persekitaran ditetapkan dengan betul.
1.2. Muat turun dan pasang perpustakaan PHPMailer. Versi terkini PHPMailer boleh dimuat turun dari laman web rasmi (https://github.com/PHPMailer/PHPMailer).
1.3 Pastikan anda telah mencipta pangkalan data dan buat jadual di dalamnya untuk menyimpan data penjejakan pautan langganan. Berikut ialah contoh pertanyaan SQL untuk mencipta jadual:

BUAT JADUAL penjejakan (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) BUKAN NULL AUTO_INCREMENT,
e-mel varchar(255) NOT NULL,

link varchar(255) NOT NULL,

time_clicked datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2 Tulis kod PHP:

Mula-mula, kita perlu mencipta fail PHP untuk mengendalikan penjejakan klik pautan langganan. Berikut adalah contoh kod, fail bernama "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.';
    }
}
?>

Di atas adalah contoh kod asas, anda boleh mengubah suai dan memanjangkannya mengikut keperluan anda. Dalam contoh ini, kami menganggap bahawa mengklik pautan akan menyimpan alamat e-mel pelanggan dan data pautan ke pangkalan data, dan menghantar e-mel terima kasih kepada pelanggan.

3. Jana pautan langganan:

Seterusnya, kami perlu menjana e-mel yang mengandungi pautan langganan. Di bawah ialah contoh kod PHP untuk menjana e-mel yang mengandungi pautan langganan. Fail itu dinamakan "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.';
}
?>

Dalam kod contoh di atas, kami menghantar pautan langganan sebagai parameter kepada fail "track.php". Pautan dikodkan untuk memastikan rentetan yang diluluskan terbentuk dengan baik.

Kesimpulan:

Dengan menggunakan PHP dan perpustakaan PHPMailer, kami boleh menjejaki klik dan pembukaan pautan langganan dalam e-mel dengan mudah. Mekanisme penjejakan ini membantu kami memahami tingkah laku pengguna dengan lebih baik dan memberikan pengalaman pengguna yang lebih diperibadikan. Saya harap artikel ini akan membantu anda apabila melaksanakan fungsi langganan.

    Muat turun pautan untuk contoh kod: [Kod contoh](https://github.com/your-github-repo/)
  • Rujukan:
🎜🎜Tapak web rasmi PHPMailer: https://github.com/PHPMailer/ PHPMailer 🎜🎜

Atas ialah kandungan terperinci Terokai PHP dan PHPMAILER: Bagaimana untuk menjejak pautan langganan dalam e-mel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn