ホームページ  >  記事  >  バックエンド開発  >  PHP と PHPMAILER を探索する: 電子メール内の購読リンクを追跡する方法

PHP と PHPMAILER を探索する: 電子メール内の購読リンクを追跡する方法

PHPz
PHPzオリジナル
2023-07-22 22:25:551001ブラウズ

PHP と PHPMAILER の探索: 電子メール内の購読リンクを追跡するにはどうすればよいですか?

はじめに:
インターネットの発展に伴い、Web サイトやアプリケーションでのサブスクリプション機能がますます一般的になってきています。サブスクリプション リンクの追跡は、パーソナライズされたユーザー エクスペリエンスを提供し、ユーザーの行動を分析するために重要です。この記事では、PHP と PHPMailer ライブラリを使用して、電子メール内の購読リンクのクリックと開封を追跡する方法を説明します。

1. 準備:
コードを書き始める前に、次の条件が満たされていることを確認する必要があります:

1.1. PHP がインストールされ、環境変数が正しく設定されていることを確認します。 。
1.2. PHPMailer ライブラリをダウンロードしてインストールします。 PHPMailer の最新バージョンは、公式 Web サイト (https://github.com/PHPMailer/PHPMailer) からダウンロードできます。
1.3. データベースを作成していることを確認し、その中にサブスクリプション リンクの追跡データを保存するテーブルを作成します。以下は、テーブルを作成する SQL クエリの例です:

CREATE TABLE 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)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. PHP コードを記述します:
まず、クリック追跡を処理するための PHP ファイルを作成する必要があります。購読リンク。以下はサンプル コードです。ファイル名は「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.';
    }
}
?>

上記は基本的なサンプル コードであり、必要に応じて変更および拡張できます。この例では、リンクをクリックすると購読者の電子メール アドレスとリンク データがデータベースに保存され、購読者にお礼の電子メールが送信されると想定しています。

3. サブスクリプション リンクの生成:
次に、サブスクリプション リンクを含む電子メールを生成する必要があります。以下は、サブスクリプション リンクを含む電子メールを生成するサンプル PHP コードです。ファイルの名前は「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.';
}
?>

上記のコード例では、サブスクリプション リンクをパラメータとして「track.php」ファイルに渡します。リンクは、渡された文字列が正しい形式であることを保証するためにエンコードされます。

結論:
PHP と PHPMailer ライブラリを使用すると、電子メール内の購読リンクのクリックと開封を簡単に追跡できます。この追跡メカニズムは、ユーザーの行動をより深く理解し、よりパーソナライズされたユーザー エクスペリエンスを提供するのに役立ちます。この記事がサブスクリプション機能を導入する際の参考になれば幸いです。

コード例のダウンロード リンク: [サンプル コード](https://github.com/your-github-repo/)

参考資料:

  • PHPMailer公式ウェブサイト: https://github.com/PHPMailer/PHPMailer

以上がPHP と PHPMAILER を探索する: 電子メール内の購読リンクを追跡する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。