<?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";
 
  }
 
}
 
?>
 
 |