PHP获取发出的邮件是否被查看阅读并记录查看时间浏览器版本等
- A
在日常开发中,可能会遇到需要统计谁谁谁在什么时候看了邮件,他是用什么查看的,用来分类用户群体等需求。
有时候或许很想知道该邮件到底有没有被对方看到,但是你不能要求让对方发送回执给你;
所以就需要一些小技巧,这里有个非常有趣的 Api 能够显示对方 IP 地址、记录阅读的实际时间和浏览器类型等等,应该可以满足你的需求
能干些什么?
记录 IP 阅读时间 浏览器类型 写日志 写数据库 更多功能可以自己加…注意:使用前需要开启对应扩展,生成 img 图片需要的 GD 库,单文件的话所需要的 Mysqli,框架接入的话就简单多了,入库操作就使用自带 ORM 即可。
使用方法:
在你的邮件中加入如下代码,前提是你的邮件需要支持 html 格式内容
<img src="http://yourdomain.com/img.php" style="display:none;">代码:
<?php error_reporting(0); Header("Content-Type: image/jpeg"); // Get IP if (!empty($_SERVER['HTTP_CLIENT_IP'])) { $ip=$_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip= $_SERVER['REMOTE_ADDR']; } // Time $actual_time = date('Y-m-d H:i:s', time()); // Get Browser $browser = $_SERVER['HTTP_USER_AGENT']; // Log $myFile = dirname(__FILE__). "/logs.txt"; $fh = fopen($myFile, 'a+'); $stringData = $actual_time .' '. $ip . ' ' . $browser ."\r\n"; fwrite($fh, $stringData); fclose($fh); // Generate Image (Es. dimesion is 1x1) $newimage = ImageCreate(1, 1); $grigio = ImageColorAllocate($newimage, 255, 255, 255); ImageJPEG($newimage); ImageDestroy($newimage);原理
很简单,实际上就是加入一个 1*1 的小图标,隐藏掉,当某人打开邮件的时候就会请求改图片的 url,做好对应的参数获取即可
写在最后。部分邮箱可能会对这种进行拦截,如果被举报过多可能会进入垃圾箱中~
傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/203.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:[email protected] 联系我们!
版权声明:若无特殊注明,本文为《正文到此结束