您好,欢迎来到六安矩阵网络一站式互联网营销服务平台!
咨询邮箱: service@matrixcn.com 咨询热线:13516498856

判断smtp连接的代码
点击次数 | 更新时间 | 2016-11-17 12:55:51
[摘要] 判断smtp连接的代码
<?
header('Content-Type:text/html;charset=utf-8');
function gethost($host) {
	$str = "";
    $gethost = gethostbyname($host);
    echo "尝试连接 $host ...<br>";
    if (!$gethost) {
        $str = "解析失败 (1)<HR>";
    } elseif ($gethost == $host) {
        $str = "解析失败 (2): 可能是一个无效的主机名<HR>";
    } else {
        echo "域名解析为 $gethost ...<br>";
        openhost($host);
    }
    echo $str;
}

function openhost($host) {  //连接主机
    if (function_exists('fsockopen')) {
        $fp = fsockopen($host, 25, &$errno, &$errstr, 60); 
    }
    elseif(function_exists('pfsockopen')) {
            echo "服务器不支持Fsockopen,尝试pFsockopen函数 ...<br>";
            $fp = pfsockopen($host, 25, &$errno, &$errstr, 60);
        }
        else
        exit('服务器不支持Fsockopen函数');
        if (!$fp) {
            echo "代号:$errno,<br>错误原因:$errstr<HR>";
        } else {
            echo "SMTP服务器连接ok!<br>";
            fwrite($fp, "");
            $out0 = fgets($fp, 128);
            if (strncmp($out0, "220", 3) == 0) { // 判断三位字符内容
                echo '220 SMTP服务端响应正常<HR>';
            } else {
                echo '服务器端错误<HR>';
            }
        }
    }

    $site = array("smtp.163.com");

    foreach ($site as $value) {
        echo gethost($value);
    }

 

上一篇:测试SMTP是否能联接的代码
下一篇:swfupload提示“错误302”的解决方法
通话
短信
留言
首页