gmail - 使用隐藏图像在 Gmail 中进行电子邮件打开/点击跟踪
问题描述
我通过添加隐藏https://example.com/tracking/open/SOME_UNIQUE_ID
的图像 URL 在电子邮件中使用电子邮件跟踪机制图像 URL 在 Gmail 上转换为以下内容。
<img src="https://ci3.googleusercontent.com/proxy/LP0uwO5fHA2LPxEfKkef1e9imTurKBU5wawN6p8SArM9l6CRtsT_dmRtTqfZDVpmWRlhgnRqr0uA9QO7w85wlGOl5DUl2G4rZ-0JQI4pXmlzjGho6yWUCA03oRRfwDOvd5HeGokeHMpHFQ=s0-d-e1-ft#https://example.com/tracking/open/SOME_UNIQUE_ID" width="0" height="0" border="0" alt="" role="presentation" class="CToWUd">
这里的问题我无法检测到真正的用户代理或 IP,因为它总是与谷歌 Ips 和用户代理相关'Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)
我看到有些人获得了 GMAIL 打开/点击跟踪的正确 IP 和位置。
我检查了所有请求标头,但对真实用户没有任何用处。这一切都与谷歌有关。
对此有什么建议吗?
谢谢。
解决方案
对我来说,从标题中获取用户代理值有帮助。如果用户代理等于“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0”,那么它就是 Google bot。
private static boolean IsGoogleBot(HttpRequest req){
var userAgent = req.Headers["User-Agent"];
return userAgent == "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0";}
IP 地址将指向 Google(我确定在 Gmail 上),但使用这种方法,您可以检测到真正的电子邮件打开。