Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何实现Mailchimp的自动跟踪电子邮件打开的方法?_Php_Email - Fatal编程技术网

Php 如何实现Mailchimp的自动跟踪电子邮件打开的方法?

Php 如何实现Mailchimp的自动跟踪电子邮件打开的方法?,php,email,Php,Email,包含请求提醒的电子邮件每天发送给用户。我的目标是在他们以绿色打开电子邮件的每个标记日创建一个日历。这需要跟踪用户是否在给定日期打开或不打开其电子邮件 Mailchimp在文章中介绍了他们的方法 当您通过MailChimp发送活动时,我们会在HTML电子邮件的底部嵌入一个微小的不可见图形。。。当有人打开你的电子邮件并查看其中的图像时 图形是从我们的服务器下载的,它被记录为打开的 你的竞选报告 要将此过程分解为以下步骤: 1包括用户独有的chron作业发送的每封电子邮件中的图形 2编写一个脚本,该脚

包含请求提醒的电子邮件每天发送给用户。我的目标是在他们以绿色打开电子邮件的每个标记日创建一个日历。这需要跟踪用户是否在给定日期打开或不打开其电子邮件

Mailchimp在文章中介绍了他们的方法

当您通过MailChimp发送活动时,我们会在HTML电子邮件的底部嵌入一个微小的不可见图形。。。当有人打开你的电子邮件并查看其中的图像时 图形是从我们的服务器下载的,它被记录为打开的 你的竞选报告

要将此过程分解为以下步骤:

1包括用户独有的chron作业发送的每封电子邮件中的图形 2编写一个脚本,该脚本在从服务器下载图形并更改用户历史记录表中的电子邮件打开值时运行

所以我的问题是:

·1是如何工作的?此外,如何创建一个系统,为每个用户自动生成唯一的图形? 我目前的想法是使用PHP从表中发送图像,例如:

<? $img_data = file_get_contents("images/phpimage.png"); header("Content-type: image/png"); echo $img_data; ?>
然后通过某种方式设置它,根据电子邮件地址发送不同的图像


·脚本2应该放在哪里?应该用哪种语言编写?我最初的想法是php和电子邮件,但如果是从服务器下载图形的那一刻,那么肯定应该是服务器端。这是怎么回事

要在HTML格式的电子邮件中包含图像,您实际上需要做的是创建一个属性,该属性包含指向服务器上图像文件的URL。顺便说一句,您不能在电子邮件中运行PHP

但是,出于这个目的,可以使用样式属性或通过将“高度/宽度”设置为0使图像不可见,并且src实际上可以指向web服务器上的脚本,该脚本接受用户ID和电子邮件ID作为参数,并呈现空图像。唯一的URL可以是http://www.example.com/logEmail?userID=12345&emailID=6789 针对特定的用户/电子邮件组合。从这个脚本返回的图像内容并不重要,也不需要是唯一的-记住,它是不可见的。只需返回一个1px乘1px的白色正方形

当脚本运行时,在返回图像并完成请求之前,它只需同时更新数据库,以指示具有给定ID的电子邮件已被具有给定ID的用户读取

至于语言,这完全取决于您计划如何/在何处托管web应用程序。您可以用任何流行的服务器端语言实现您想要的

不过,您链接到的MailChimp文章提出了一个重要的警告——如果您出于任何原因以纯文本形式向任何用户发送电子邮件,此技术将不起作用;如果用户的邮件客户端未设置为下载图像,此技术也将不起作用。例如,企业Outlook安装通常默认设置为这样,直到用户单击以允许下载,和/或将发件人标记为安全。因此,你不能依赖这些数据来100%准确地判断你的用户是否在阅读你的电子邮件。如果你收到某封邮件的回复,你可以肯定地说他们打开了它。注意:打开、阅读和理解绝对不是一回事!!。但是如果你没有得到回复,你实际上无法确定他们是否打开了电子邮件