网易的无感知“邮件追踪”功能是如何实现的?也就是读者只要打开邮件,读者根本感觉不到,(不需要读者发回执),发件者就能得知邮件已经被阅览了。
jerkzhang
如果让我自己来实现这个功能。
我首先会考虑通过外联的css脚本或JS脚本来感知邮件是否被打开过;但是邮件中是禁止采用外联css的,js脚本更是完全禁止的。
所以,最终我想到的方案是用外联的网络图片来实现,给这个图片一个包含有唯一编号信息的url地址,可以在url的路径参数中隐藏这个编号,也可以是在附带的url参数上包含这个编号,这个编号就是对应着你发的这封邮件的唯一编号,之后用图片服务器去感知这个url的图片是否被请求了,请求了则代表这封邮件被阅读。而这张图片可以1px * 1px的透明像素或者白色像素,从而对邮件本身不会有任何影响。
为了证明我猜想的方案,我发了一封可追踪的邮件给自己的QQ邮箱,对邮件源码进行base64解密后,可以看见果然是和我设计的功能实现方案一模一样。网易用的是如下这样一个外链图片:
https://count.mail.163.com/beacon/webmail.gif?type=webmail_mailtrace&guid=<图片的唯一编码对应邮件唯一编码>
从而通过图片服务器感知邮件是否被阅读。