我想跟踪用户通过我发送的邮件花费的秒数。 我已经使用了PHP脚本。
<?php
// Time the request
$st = time();
$t = $st;
$ft = $st + 30;
ignore_user_abort(true);
set_time_limit(0);
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
syslog(LOG_ERR,"URL : ".$actual_link);
while($st < $ft)
{
// Did the connection fail?
echo "HI \n";
flush();
ob_flush();
if(connection_status() != 0)
{
$duration1 = time() - $t;
syslog(LOG_ERR,"SKIM : User Stopped For TIME: ".$duration1);
break;
}
// Sleep for 1 seconds
sleep(1);
$st = $st + 1;
}
if($st >= $ft)
{
$duration = $st - $t;
syslog(LOG_ERR,"READ : User Stopped For TIME: ".$duration);
}
?>
通过HTML在邮件内容中调用
<body>
<img src="http://url.../openduration.php/>
</body>
现在,阅读邮件的持续时间总是大约23秒,无论我读取它的持续时间如何。我之前尝试关闭邮件但没有效果。虽然当我在本地服务器上的网页上试用它时脚本工作正常。我只尝试使用Gmail。
答案 0 :(得分:1)
可能你在谈论这个
<?php
session_start();
$_SESSION['start'] = time();
/*here goes the code of email*/
$_SESSION['end'] = time();
echo "Start:".$_SESSION['start']."--"."End:".$_SESSION['end']."</br>";
echo "Total Execution time is : ".date("H:i:s",$_SESSION['end']-$_SESSION['start']);
?>
答案 1 :(得分:0)
你无法做你想做的事。 Gmail会在邮件中缓存所有图片,因此我认为在23秒内没有收到任何内容后,它会自行将请求超时