>  기사  >  백엔드 개발  >  PHP 및 PHPMAILER 살펴보기: 이메일에서 구독 링크를 추적하는 방법은 무엇입니까?

PHP 및 PHPMAILER 살펴보기: 이메일에서 구독 링크를 추적하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-07-22 22:25:55999검색

PHP 및 PHPMAILER 탐색: 이메일에서 구독 링크를 추적하는 방법은 무엇입니까?

인용문:
인터넷이 발전하면서 웹사이트와 애플리케이션에서 구독 기능이 점점 더 보편화되고 있습니다. 구독 링크 추적은 개인화된 사용자 경험을 제공하고 사용자 행동을 분석하는 데 중요합니다. 이 기사에서는 PHP와 PHPMailer 라이브러리를 사용하여 이메일의 구독 링크 클릭 및 열기를 추적하는 방법을 살펴보겠습니다.

1. 준비:
코드 작성을 시작하기 전에 다음 조건이 충족되는지 확인해야 합니다.

1.1 PHP가 설치되어 있고 환경 변수가 올바르게 설정되어 있는지 확인하세요.
1.2. PHPMailer 라이브러리를 다운로드하고 설치합니다. PHPMailer 최신 버전은 공식 홈페이지(https://github.com/PHPMailer/PHPMailer)에서 다운로드할 수 있습니다.
1.3. 구독 링크의 추적 데이터를 저장하려면 데이터베이스를 생성하고 그 안에 테이블을 생성해야 합니다. 다음은 테이블을 생성하는 SQL 쿼리의 예입니다.

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) 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.