一般邮件追踪的原理和方法

绝大部分的邮件追踪的方法都是利用一个动态链接在展示图片的时候同时进行一些动态运算.
以下代码以php为例子,利用php代码生成一张非常小的图片.我们之后要把这个链接放入邮件的在线图片链接中!
                


   <?php 
        
        $im 
imagecreatetruecolor(11);
        
$text_color imagecolorallocate($im2331491);
        
imagestring($im155,  'A Simple Text String'$text_color);

        
// 设置内容类型标头 —— 这个例子里是 image/jpeg
        
header('Content-Type: image/jpeg');

        
// 输出图像
        
imagejpeg($im);

        
// 释放内存
        
imagedestroy($im);
   
?>
一般在邮件打开之后,图片会自动加载,加载的时候我们就可以记录打开行为了.

每个链接都必须不一样,以php为例子,可以在每个链接后面设置一个变量,这样就 可以把链接和每一个用户区分开来进行记录!

                
   <?php 
    
//我们可以先设置一个Get的变量,这样可以对每个不同的链接进行记录
    
if(isset($_GET['mail'])){
      
$keyhtmlspecialchars($_GET['mail']);
    }
   
    
//以下两行一个获取设备型号,另外一个获取ip地址
    
$agent=$_SERVER['HTTP_USER_AGENT'];
    
$ip $_SERVER['REMOTE_ADDR'];


    
//Option1:这里可以设置一个数据库链接
    
$conn = new mysqli($servername$username$password$dbname);
    if (
$conn->connect_error){
        die(
"连接失败: " $conn->connect_error);
    } 
    
//Option2:如果不设置数据库还可以用一个txt文件来记录
    
$myfile fopen("feed.txt""a+") or die("Unable to open file!");
    
fwrite($myfile$rich);
    
fclose($myfile);

    
//经过如上的记录之后,我们就可以做接下来的动作来把这张1*1大小的图片展示出来

   
?>

   <?php 
        
        $im 
imagecreatetruecolor(12020);
        
$text_color imagecolorallocate($im2331491);
        
imagestring($im155,  'A Simple Text String'$text_color);
        
header('Content-Type: image/jpeg');
        
imagejpeg($im);
        
imagedestroy($im);
   
?>

其实也可以通过https://grabify.icu生成类似的链接放入邮件之中.

链接获取ip也是类似方法
链接发给别人之后可以在别人打开的时候进行一些记录.这也是一般网站或者用户ip地址的方法.还可以和流量统计网站 一样进行设备型号的记录,也可以利用javascript等记录等种cookie进行统计,还有获取一些用户时区或语言等信息.
maipdf的pdf生成链接功能可以追踪打开记录也是非常有用的功能,因为从市场营销方面来说,除了知道邮件是否被打开之外, 还可以查看一下用户是否对邮件内容感兴趣,是否点开了邮件中的链接.