Phát hiện mail bạn gửi đã được đọc hay chưa bằng PHP

Cập nhật: Lượt xem: 93 [ PHP ]

Nếu bạn dùng PHP để gửi nhận mail ,thì có lẽ bạn cũng sẽ muốn biết liệu mail mà bạn gửi đã được đọc hay chưa ? Vậy làm sao để biết được điều đó?

Phát hiện mail bạn gửi đã được đọc hay chưa bằng PHP

Hôm nay mình xin chia sẻ cho các bạn đoạn code bằng PHP , đoạn code này sẽ giúp chúng ta nhận biết được  người nhận mail đã mở mail ra xem. Bằng cách nhúng vào nội dung gửi mail một đoạn HTML như sau:

<img src="http://www.yourhost.com/image.php">

Như các bạn đã thấy, đoạn code trên thực chất chỉ là file hình, nhưng file hình này sẽ được tạo ra khi người nhận mở mail ra xem, và thông tin trên máy người nhận như thời gian tại thời điểm người đó mở mail và địa chỉ IP sẽ được lưu trữ tại file log.txt.

Việc các bạn cần làm bây giờ là tạo một file mới và đặt tên là image.php, sau đó copy toàn bộ đoạn code bên dưới và dán nó vào.

<?php
  error_reporting(0);
  Header("Content-Type: image/jpeg");

  //Get IP
  if (!empty($_SERVER['HTTP_CLIENT_IP']))
  {
    $ip=$_SERVER['HTTP_CLIENT_IP'];
  }
  elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
  {
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  }
  else
  {
    $ip=$_SERVER['REMOTE_ADDR'];
  }

  //Time
  $actual_time = time();
  $actual_day = date('Y.m.d', $actual_time);
  $actual_day_chart = date('d/m/y', $actual_time);
  $actual_hour = date('H:i:s', $actual_time);

  //GET Browser
  $browser = $_SERVER['HTTP_USER_AGENT'];

  //LOG
  $myFile = "log.txt";
  $fh = fopen($myFile, 'a+');
  $stringData = $actual_day . ' ' . $actual_hour . ' ' . $ip . ' ' . $browser . ' ' . "\r\n";
  fwrite($fh, $stringData);
  fclose($fh);

  //Generate Image (Es. dimesion is 1x1)
  $newimage = ImageCreate(1,1);
  $grigio = ImageColorAllocate($newimage,255,255,255);
  ImageJPEG($newimage);
  ImageDestroy($newimage);
 
?>

Bây giờ , các bạn tạo thêm một file mới là log.txt rồi upload cả 2 file này lên host của các bạn. Nhớ thay đổi đường dẫn đến file này cho phù hợp với nội dung trong mail của các bạn.

Nếu các bạn còn thắc mắc điều gì thì đừng ngần ngại để lời lời nhắn dưới dạng comment.

Chúc các bạn thành công !