How to check, by PHP, if my script is connecting to SMTP server

前端 未结 3 1766
猫巷女王i
猫巷女王i 2020-12-19 13:04

Simply what the title says. Want to know how to check if the connection is working and if not, what is the error. Btw the SMTP server is exchange 2007.

3条回答
  •  误落风尘
    2020-12-19 14:04

    it could be due to your SMTP port is not allowed on firewall so Try this php script to check open ports, it's have maximum popular port checking:

    'interspire.smtp.com','number'=>25);
    $ports[] = array('host'=>'interspire.smtp.com','number'=>2525);
    $ports[] = array('host'=>'interspire.smtp.com','number'=>25025);
    $ports[] = array('host'=>'helpme.interspire.smtp.com','number'=>80);
    
    $ports[] = array('host'=>'google.com','number'=>80);
    $ports[] = array('host'=>'smtp.gmail.com','number'=>587);
    $ports[] = array('host'=>'smtp.gmail.com','number'=>465);
    $ports[] = array('host'=>'pop.gmail.com','number'=>995);
    $ports[] = array('host'=>'imap.gmail.com','number'=>993);
    
    $ports[] = array('host'=>'ftp.mozilla.org','number'=>21);
    $ports[] = array('host'=>'smtp2go.com','number'=>8025);
    
    $ports[] = array('host'=>'relay.dnsexit.com','number'=>25);
    $ports[] = array('host'=>'relay.dnsexit.com','number'=>26);
    $ports[] = array('host'=>'relay.dnsexit.com','number'=>940);
    $ports[] = array('host'=>'relay.dnsexit.com','number'=>8001);
    $ports[] = array('host'=>'relay.dnsexit.com','number'=>2525);
    $ports[] = array('host'=>'relay.dnsexit.com','number'=>80);
    
    $ports[] = array('host'=>'mail.authsmtp.com','number'=>23);
    $ports[] = array('host'=>'mail.authsmtp.com','number'=>25);
    $ports[] = array('host'=>'mail.authsmtp.com','number'=>26);
    $ports[] = array('host'=>'mail.authsmtp.com','number'=>2525);
    
    foreach ($ports as $port)
    {
        //$connection = @fsockopen($port['host'], $port['number']);
        $connection = @fsockopen($port['host'], $port['number'], $errno, $errstr, 5); // 5 second timeout for each port.
    
        if (is_resource($connection))
        {
            echo '

    ' . $port['host'] . ':' . $port['number'] . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.

    ' . "\n"; fclose($connection); } else { echo '

    ' . $port['host'] . ':' . $port['number'] . ' is not responding.

    ' . "\n"; } } ?>

    Source From: https://www.interspire.com/support/kb/getattachment.php?data=MTA2OHxwb3J0Y2hlY2sucGhw

提交回复
热议问题