我如何知道是否有人打开了电子邮件?

2022-08-30 19:07:52

我正在开发一个电子邮件系统(基于PHP),其中用户将发送数百封电子邮件,我想跟踪这些电子邮件,以便我能够知道电子邮件是否打开?

任何人都可以指导我如何做到这一点吗?

谢谢


答案 1

据我所知,唯一的方法 - 而且不是很可靠 - 是发送一封HTML邮件,其中包含以下内容:

PHP 代码:

<img src='http://www.domain.com/mailcheck.php?user=123'>

图像,但在此过程中,您可以跟踪GET用户。您还可以找到一种方法来修改邮件标题以请求收据 - 但我不知道该怎么做 - 而且由于请求的自愿性,它也不可靠。


答案 2

很简单,您可以设置一个返回 1x1 图像的 PHP 脚本。让该脚本记录用户代理和 IP(您甚至可以记录引用站点)。

现在将其嵌入到电子邮件中。

由于gmail已开始始终显示图像,但将从其自己的服务器托管它们,因此您仍然可以了解邮件是否已打开,但您可能无法跟踪正确的IP。在此处检查一些参考:默认情况下gmail缓存和显示图像的效果

你可以了解mailchimp是如何做到的:MailChimp Working

编辑:代码参考:

<img src="http://www.example.com/checkopen.php?user_id=20" />

在脚本中,获取现在与此字段对应的字段,将其存储为该用户已打开邮件。checkopen.phpuser_id

发送邮件时,请确保每次发送邮件时都会递增该字段。user_id

因此,每当渲染此图像时,它都会调用相应的URL,因此您可以登录系统以了解正在打开的邮件的状态。


推荐