我想跟蹤用戶在通過我發送的郵件上花費的秒數。 我已經使用了一個PHP腳本。如何使用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。
您是否在談論電子郵件的加載時間? –
加載基本內容後,我調用腳本。 基本上用於跟蹤讀取持續時間。 –
大多數Webmail客戶端(例如Gmail和Outlook)都使用圖像代理來異步加載每封電子郵件中的圖像。由於圖像以這種方式加載,它們將繼續加載,直到連接超時,即使讀者已從消息中移開。然而,仍然有許多電子郵件客戶端允許讀取時間來測量這種方式,所以使用[託管服務](https://shiftmail.io)將減少數十小時捕捉所有這些邊緣情況。 – sousdev