我想知道,我发送的哪些电子邮件已经打开了电子邮件。
以下是我解决问题的方法 -
在应呈现的html模板中创建一个图像文件。
< img src =" {{tracking_url}}"高度=" 1"宽度=" 1">
打开电子邮件后,会向网址发出请求,该网址将包含base64编码的网址格式:
base64_pattern = r'([A-Za-z0-9 + /] {4})*([A-Za-z0-9 + /] {2} == | [A-Za-z0 -9 + /] {3} =)'
url(r' ^ tracking /(?P {})/ $' .format(base64_pattern),' tracking_image_url',name =' tracking_image_url') ,
该URL将提供图像,并更新计数器,如下所示 -
TRANSPARENT_1_PIXEL_GIF =" \ x47 \ x49 \ x46 \ x38 \ x39 \ x61 \ x01 \ x00 \ x01 \ x00 \ x80 \ x00 \ x00 \ xff \ xff \ xff \ x00 \ x00 \ x00 \ x21 \ xf9 \ X04 \ X01 \ X00 \ X00 \ X00 \ X00 \ X2C \ X00 \ X00 \ X00 \ X00 \ X01 \ X00 \ X01 \ X00 \ X00 \ X02 \ X02 \ X44 \ X01 \ X00 \ X3B"
查看 -
def tracking_image_url(request, mail_64=None):
eml = base64.b64decode(mail_64)
// Update the counters in the DB table for the email address.
return HttpResponse(TRANSPARENT_1_PIXEL_GIF, content_type='image/gif')
我做了所有这些,但是无法跟踪打开,我缺少什么?
答案 0 :(得分:-1)
试试这个
import base64
from django.http import HttpResponse
PIXEL_GIF_DATA = base64.b64decode(
b"R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")
def index(request):
return HttpResponse(PIXEL_GIF_DATA, content_type='image/gif')