email - 邮件跟踪器如何使收件人和发件人的原始电子邮件不同?
问题描述
我正在探索 Gmail 的mailtrack.io邮件跟踪器,它在末尾附加了一张图片来跟踪电子邮件。
发件人和收件人邮件的原始 HTML 源代码存在差异,确保邮件跟踪器不会在发件人自己打开电子邮件时被触发。这就是跟踪器的作用:
发件人
<img width="0" height="0" alt="" style="display:flex" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=">
接收者
<img width="0" height="0" alt="" style="display:flex" src="https://mailtrack.io/trace/mail/random-token.png?u=random">
对于发送方,tracker 像素图像以Base64形式编码,原始跟踪链接仅发送给接收方。
如果我使用典型的 Gmail 网络客户端发送电子邮件,邮件跟踪器如何做到这一点?我知道电子邮件的副本通过 IMAP 保存在已发送的文件夹中,这肯定由 Gmail 内部处理,邮件跟踪器无法修改。但在这种情况下,邮件跟踪器已经修改了原始电子邮件内容。
解决方案
这是一个浏览器扩展。它可以在您加载发送的项目时拦截 HTTP 响应,并在它到达 Gmail 网络应用程序的 JavaScript 之前对其进行重写。
推荐阅读
- css - 由于悬停时的过渡/缩放,在移动设备上难以滚动
- node.js - 从 oracle db 获取数据并使用 app.get 在浏览器上显示
- http - 如何在静态站点上伪造 http 请求?
- simd - 在列主矩阵上使用 AVX512 _mm512_loadu_pd()?
- javascript - 加载音频有效,但现在无效
- c++ - 当我有两个指针在同一个内存时,为什么我必须调用两次“删除”?
- java - 在房间版本 1.1.1 中创建复合主键时无法使用 Kotlin 编译器构建 android studio 项目
- javascript - 在没有只读错误的情况下无法访问深层嵌套对象属性
- python - 如何在 python 中使用 requests.get 获取数据之前等待页面加载,而不使用 api
- java - Repaint() 方法不会一一调用paint() 和paintComponent() 方法,只有paintComponent() 方法有效