【发布时间】: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发出的请求
但是,如果我查看原始电子邮件,在页脚下方我可以看到包含我的 <img> 标记。
如果我尝试使用像 static.example.net/images/sometest123.png 这样的外部图像,图像会通过并且可见。
【问题讨论】:
标签: python django email cookies gmail