You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分邮件链接的用户真实点击与服务器链接检测请求?

邮件链接真实点击记录的解决方案

针对邮件服务器自动检测导致的点击记录偏差问题,以下是几个实用的解决思路:

  • 基于用户交互的触发统计
    把邮件中的链接指向一个中间跳转页,而非直接跳转到目标地址。在中间页中,通过JavaScript监听真实用户的交互行为(比如鼠标点击、移动事件,或页面滚动),只有检测到这些行为后,再发送点击记录请求,随后跳转到目标页面。邮件检测工具大多不会执行JS或模拟用户交互,以此过滤掉无效请求。示例逻辑:

    // 监听用户点击事件
    document.addEventListener('click', function() {
      // 发送统计请求
      fetch('/track-click?user=xxx&email=xxx', { method: 'POST' });
      // 跳转到目标页面
      window.location.href = 'https://目标地址';
    });
    // 或者监听页面加载后的鼠标移动
    let hasInteracted = false;
    document.addEventListener('mousemove', function() {
      if (!hasInteracted) {
        hasInteracted = true;
        // 发送统计请求
        fetch('/track-click?user=xxx&email=xxx', { method: 'POST' });
        setTimeout(() => window.location.href = 'https://目标地址', 500);
      }
    });
    
  • 多维度请求特征识别
    除了已知的user-type请求头,还可以结合其他请求特征区分检测工具:

    • 检查User-Agent:多数爬虫/检测工具的UA会包含bot、crawler、spider或邮件服务商专属标识(如Yahoo、Gmail的检测工具UA),直接过滤这类请求;
    • 验证Cookie:真实用户的浏览器通常会携带网站Cookie(若之前有访问记录),而检测工具一般不会携带;可在中间页设置临时Cookie,后续统计请求需携带该Cookie才有效;
    • 分析请求频率:同一IP短时间内多次请求同一链接,标记为检测请求;
    • 检查Accept头:真实浏览器的Accept头会包含text/html、application/json等多种类型,而检测工具可能只请求特定类型资源。
  • 延迟统计策略
    真实用户点击链接后会有页面停留或交互,而检测工具通常快速完成请求。可以设置2-3秒的延迟,只有当页面加载完成且超过延迟时间后,再发送统计请求;或者结合页面可见性API(document.visibilityState),确保页面处于可见状态时才统计。

  • 结合邮件上下文验证
    在链接中嵌入用户唯一标识(如用户ID、邮件UUID),同时关联邮件的打开记录:

    • 如果某条点击请求对应的邮件从未被标记为“已打开”,直接判定为检测工具请求;
    • 统计同一标识下的请求次数,若短时间内出现多次请求,排除重复的检测请求。
  • 利用浏览器专属API识别
    检测工具大多不会模拟完整的浏览器环境,可通过以下API判断:

    • 检查是否支持localStorage、sessionStorage等存储API;
    • 使用navigator.userAgentData(现代浏览器支持)获取更精准的客户端信息,爬虫一般无法模拟该对象。

内容的提问来源于stack exchange,提问作者Manjur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:37:21