Below is a PHP script that I run daily (via a cron job) to check my imap email statistics. It generates a report like below. I use this statistic report to tell me how behind I am on my emails. It also reports a distribution of the emails for the last few weeks. You can run it on the web browser or run it on php command line (command: “php imap.php”)
Derek's INBOX Statistics: Total number of mails = 2842 Month 2007-08 has an email count of 528 ( 15.9 MB) Month 2007-09 has an email count of 1210 ( 76.7 MB) Month 2007-10 has an email count of 1104 ( 79.7 MB) Week[-8] has an email count of 81 ( 3.1 MB) Week[-7] has an email count of 186 ( 5.8 MB) Week[-6] has an email count of 200 ( 5.6 MB) Week[-5] has an email count of 198 ( 6.8 MB) Week[-4] has an email count of 298 ( 19.5 MB) Week[-3] has an email count of 336 ( 21.4 MB) Week[-2] has an email count of 339 ( 26.8 MB) Week[-1] has an email count of 530 ( 33.6 MB) Week[-0] has an email count of 674 ( 49.7 MB) Total mail box size = 172.3 MB Maximum email size = 2.9 MB Earliest email date = 08/14/2007 (58 days ago) Elapsed time = 2 seconds ================ imap.php ======================================== <?php global $tdate, $today; $tdate = getdate(); $today = $tdate[0]; $php_out = 0; /* =1 if html format is desired. =0 for std text output */ $max_msg_size = -10.0; $earliest_date = $tdate[0]; $start_time = time(); /* capture the start time for elapsed time calculation */ if ($php_out) { print "\n"; print "<h1>Derek's INBOX Statistics:</h1>\n"; } print "Derek's INBOX Statistics:\n"; $total_size = 0.0; /* Replace the following line for your application */ $mbox = imap_open("{yourhost.com:993/imap/ssl/novalidate-cert}INBOX", "username", "your_password"); $n_msg = imap_num_msg($mbox); if ($php_out) echo "<h2>Total number of mails = ".$n_msg."</h2>\n"; else echo "Total number of mails = ".$n_msg."\n"; for ($i=1; $i<=$n_msg; $i++) { $header = imap_headerinfo($mbox,$i); if ($header == false) { echo "Call failed
\n"; break; } else { $size = (float) $header->Size; if ($size > $max_msg_size) $max_msg_size = $size ; $msg_date=strtotime($header->Date); if ($msg_date < $earliest_date) $earliest_date = $msg_date; $month_key = date('Y-m',$msg_date); if ( is_null($msg_month[$month_key])) { $msg_month[$month_key] = 0; /* $msg_size[$month_key] = 0.0; */ } $msg_month[$month_key] += 1; $msg_week[getweektodate($msg_date)] += 1; $msg_week_size[getweektodate($msg_date)] += $size; $msg_size[$month_key] += $size; } } foreach ($msg_month as $key => $mon ){ $size = $msg_size[$key]/1e6; $total_size += $size; printf ("Month %s has an email count of %5d (%5.1f MB)\n",$key, $mon, $size); } foreach ( $msg_week as $key => $num ) { printf ( "Week[-%d] has an email count of %5d (%5.1f MB)\n",$key,$num,$msg_week_size[$key]/1e6); } printf ("Total mail box size = %5.1f MB\n",$total_size); unset ($key,$mon); $time_elapsed = time() - $start_time; printf("Maximum email size = %5.1f MB\n",$max_msg_size/1e6); printf("Earliest email date = %s (%d days ago)\n",date('m/d/Y', $earliest_date),($tdate[0]-$earliest_date)/60/60/24) ; print ("Elapsed time = $time_elapsed seconds\n"); imap_close($mbox); if ($php_out) print ""; function getdaystodate($indate) { return ($tdate[0]-$indate)/60/60/24; } function getweektodate($indate) { global $today; /* echo "Indate= $indate, today = $today\n"; */ return ((int) ($today-$indate)/60/60/24/7); } ?>
hello i need statistics like clik open bounce spam
plesae contct me