| 
<?php
 /*
 
 Apr 8, 2003.
 
 ==============================================================
 This script is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS  FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
 This  file  is  copyright (c)2003  Pierre Marceau  all  rights
 reserved.  You may freely use and redistribute under the terms
 of the GNU General Public License.
 --------------------------------------------------------------
 smtpstatus - http://www.skynet.ca/~pierre/
 ==============================================================
 */
 
 class smtpstatus{
 
 function getmicrotime(){
 list($usec, $sec) = explode(" ",microtime());
 return ((float)$usec + (float)$sec);
 }
 
 function cm($smtpserver,$ti=2){
 $start=$this->getmicrotime();
 $fp = fsockopen($smtpserver, 25, $errno, $errstr, $ti);
 $end=$this->getmicrotime();
 $stoptime="Mail server response time was <b>".number_format($end-$start,4)."</b> seconds.";
 if (!$fp){
 echo "<b>$smtpserver</b><br><font color=\"red\">$errstr ($errno).</font><br>$stoptime<br><hr>\n";
 return 0;
 }
 $retval = fgets($fp, 512);
 fputs($fp, "QUIT\r\n");
 fgets($fp, 512);
 fclose($fp);
 echo "<b>$smtpserver</b> <i>responded with:</i><br>$retval<br>$stoptime<br>\n<hr>\n";
 }
 
 function header($mytitle="My Company Inc."){
 echo "<html>\n";
 echo "<head>\n";
 echo "<title>$mytitle</title>\n";
 echo "</head>\n";
 echo "<body>\n";
 echo "<H1>$mytitle</H1>\n";
 echo date("l dS of F Y h:i:s A")."\n<br>\n<br>\n";
 echo "If a server did not respond, maybe it was busy, please click refresh to try again.\n<br>\n<br>\n";
 echo "<hr>\n";
 }
 
 function footer(){
 echo "--<br>\nEnd of report.\n</body>\n</html>\n";
 }
 }
 ?>
 |