【问题标题】:Gmail open tracking, set cookie with DjangoGmail 打开跟踪,用 Django 设置 cookie
【发布时间】:2017-09-29 19:54:00
【问题描述】:

我正在开发一个简单的应用程序,将透明像素嵌入到使用 Gmail 手动发送的电子邮件中,然后对用户进行 cookie。

我将这个<img> 插入到电子邮件中:

<img height="1" src="https://example.net/pixel.png?guid=1234" style="visibility:" width="1">

目的是当电子邮件打开时,它应该向example.net/pixel.png请求图像

端点为pixel.png 的 Django 应用有这样的视图:

def set_cookie(request):
    PIXEL_GIF_DATA = "R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
    data = base64.b64decode(PIXEL_GIF_DATA)
    response = HttpResponse(data, content_type='image/gif')
    response.set_cookie('some_cookie_name', 'some_cookie_value')
    return response

如果我访问 `example.net/pixel.png?guid=1234',它会正确设置 cookie,所以我们很好。

我遇到的唯一问题是,当打开电子邮件时,请求没有发送到我的服务器。作为收件人,如果我进入开发人员工具并查看网络请求,我看不到向mysite.net发出的请求

但是,如果我查看原始电子邮件,在页脚下方我可以看到包含我的 &lt;img&gt; 标记。

如果我尝试使用像 static.example.net/images/sometest123.png 这样的外部图像,图像会通过并且可见。

【问题讨论】:

    标签: python django email cookies gmail


    【解决方案1】:

    Gmail fetches the image and caches it on its servers,以防止此类跟踪并保护收件人的隐私。

    【讨论】:

    • 有很多提供电子邮件打开跟踪的服务:Yesware、Cirrus、Marketo 等,等等 - computerworld.com/article/2979569/web-browsers/…
    • 可能有很多提供电子邮件打开跟踪的服务,但如果 Gmail 通过代理加载图像,那么您的 cookie 设置将无济于事。
    • 我经常使用电子邮件,我可以确认这就是 Gmail 的工作方式。您知道您的收件人刚刚打开了您的电子邮件,并且用于打开电子邮件的设备是 Gmail 的服务器。我个人喜欢这种方法。
    猜你喜欢
    • 2020-04-22
    • 2019-11-19
    • 1970-01-01
    • 2017-03-30
    • 2019-03-09
    • 2016-10-05
    • 2013-08-27
    • 2023-03-03
    • 2016-12-11
    相关资源
    最近更新 更多