繁体   English   中英

PHP mailsender:哪些接收者正在单击我的[HTML消息]链接?

[英]PHP mailsender: Which receivers are clicking on my [Html message] link?

我正在使用PHP mailsender,并将链接发送到许多接收者。 当他们单击链接时,他们将重定向到获取其ip的PHP文件,然后重定向到该PHP文件上的标头,从而将其重定向到网页。

这是我的问题:哪个IP用于哪个电子邮件(或接收者)?

这是我发送给的链接代码:

<a href="http://www.example.com/data.php" style="(css part)" >blahblah</a>

这是获取接收者ip并将其写入txt文件的php代码:

<?php
$data = ' ip --> '.$_SERVER['REMOTE_ADDR']."\n" ;
$ret = file_put_contents('data.txt', $data, FILE_APPEND | LOCK_EX);
header('Location: http://example2.com');
?>

如果我的问题不清楚,请告诉我更多描述。

如果我正确理解了您的问题,那么您实际上要完成的工作是弄清楚哪个人打开了您的电子邮件,并且您正在收集IP地址作为代理,然后希望根据IP地址来确定谁。

不幸的是,这是行不通的。 许多(大多数)公司使用基于NAT的防火墙,成千上万的用户都可以通过相同的IP地址访问Internet。 相反,同一用户早晨在星巴克停留,下午在公司工作桌以及回家后可以具有不同的IP地址。

如果将IPv6添加到组合中,事情将变得更加复杂。

要解决您的问题,您需要采用其他方法。 一种简单的解决方案是为每个收件人分配一个随机但唯一的代码。 32个字符的十六进制字符串会很好。

发送电子邮件时,您将存储此代码及其所属的电子邮件地址。 电子邮件中的链接如下所示:

<a href="http://www.example.com/data.php?code=11921af91234a8813fa" style="(css part)" >blahblah</a>

请注意,这意味着您发送的每封电子邮件的URL都会不同。

在接收端,您的data.php将随后从URL中提取代码并将其保存到数据库中。

话虽这么说:您对于这样一个本地解决方案可能不会很满意。 您可以购买具有现成功能(或作为服务)的软件,并具有非常详尽的报告功能。

您面临的最大挑战可能是垃圾邮件过滤器和隐私过滤器-两者都可以在URL中精确查找这种代码。 借助现成的商业解决方案,您可以将此类问题留给专家解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM