我怎么知道有人打开过电子邮件?

Nav*_*tlo 12 php mass-emails campaign-monitor

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

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

谢谢

Kir*_* RS 15

我知道的唯一方法 - 也不是非常可靠 - 是发送一封HTML邮件,其中包含以下内容:

PHP代码:

<img src='http://www.domain.com/mailcheck.php?user=123'>
Run Code Online (Sandbox Code Playgroud)

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

  • 就像你说的那样,它不太可靠.而且,这是一种颠覆性的.我不相信那些像这样的技巧来跟踪我的电子邮件. (4认同)
  • @NoufalIbrahim 这是一种非常常见的营销策略。 (3认同)

sus*_*ray 6

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

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

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

您可以了解 mailchimp 是如何做到的:MailChimp 工作

编辑:代码参考:

<img src="http://www.example.com/checkopen.php?user_id=20" />
Run Code Online (Sandbox Code Playgroud)

checkopen.php脚本里面,获取user_id字段,现在对应这个字段,存储这个用户打开了邮件。

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

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

  • 不是每个人都使用 GMail (2认同)
  • 如果图像被阻止(大多数客户端默认情况下会这样做),则不会 (2认同)