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

基于Gmail API的邮件应用:优化邮件追踪像素的计数与通知逻辑

解决Gmail API邮件追踪的两个核心需求

1. 排除发件人打开邮件的计数

要实现发件人打开不计入统计,核心是在追踪请求中区分请求发起者身份:

  • 发送邮件时,为每封邮件生成唯一tracking_id,并在1x1像素的src中携带收件人邮箱和tracking_id参数,示例HTML代码:
    <img src="https://your-server.com/track?tid=abc123&recipient=user@example.com" width="1" height="1" style="display: none;">
    
  • 服务器端接收追踪请求时:
    1. 解析URL参数中的recipient和tracking_id
    2. 从数据库或邮件记录中取出该tracking_id对应的发件人邮箱
    3. 对比请求发起者的邮箱与发件人邮箱,若一致则直接返回空白图片,不执行计数逻辑
  • 补充:可辅助记录发件人的IP、User-Agent信息做二次校验,但优先级低于邮箱匹配,避免IP共享导致误判

2. 收件人打开时触发通知邮件

当确认是收件人触发追踪请求后,通过Gmail API发送通知:

  • 服务器端验证通过后:
    1. 先检查该tracking_id是否已发送过通知(避免重复触发),未发送则标记状态为“已通知”
    2. 构造通知邮件内容:主题可设为"邮件已被查看:[原邮件主题]",正文包含收件人邮箱、打开时间等关键信息
    3. 调用Gmail API的users.messages.send接口,以发件人授权身份发送通知邮件到发件人邮箱
  • 注意事项:
    • 确保应用已获取https://www.googleapis.com/auth/gmail.send权限范围
    • 处理API调用的异常情况(如网络错误、权限失效),可设置重试机制

额外提醒

  • Gmail默认可能阻止外部图片加载,需提醒收件人允许加载外部图片才能触发追踪
  • 避免频繁调用API发送通知,可合并同一会话内的多次打开请求,只发送一次通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:42:06