• 创建php文件并执行测试 vi mailtest.php
<?php
function getHost($host)
{  //解析域名
    $getHost = gethostbyname($host);
    echo "尝试连接 $host ...<br>\r\n ";
    if (!$getHost) {
        echo "解析失败 (1)<HR>";
    } elseif ($getHost == $host) {
        echo "解析失败 (2): 可能是一个无效的主机名<HR>";
    } else {
        echo "域名解析为 $getHost ...<br>\r\n";
        openHost($host);
    }
}

function openHost($host)
{  //连接主机

    if (function_exists('fsockopen')) {
        $fp = fsockopen($host, 25, $errno, $errstr, 60);
    } elseif (function_exists('pfsockopen')) {
        echo "服务器不支持Fsockopen,尝试pFsockopen函数 ...<br>\r\n";
        $fp = pfsockopen($host, 25, $errno, $errstr, 60);
    } else
        exit('服务器不支持Fsockopen函数');

    if (!$fp) {
        echo "代号:$errno,<br>\n错误原因:$errstr<HR>";
    } else {
        echo "SMTP服务器连接ok!<br>\r\n";
        fwrite($fp, "");
        $out0 = fgets($fp, 128);
#echo $out0;
        foreach (["220"] as $port) {
            if (strncmp($out0, $port, 3) == 0) { // 判断三位字符内容
                echo $port . ' SMTP服务端响应正常<HR>';
            } else {
                echo $port . '服务器端错误<HR>';
            }
        }
    }
}

//SMTP服务器地址

foreach (["smtp.163.com", "smtp.sina.cn", "smtp.sina.com", "smtp.qq.com", "smtp.126.com", "smtp.gmail.com"] as $host) {
    echo getHost($host) . "\n\n\n";
}

if (function_exists('mail')) {
    echo 'mail方法正常';
}

如果以上正常,那么就检查是否邮箱帐号的问题

标签: none

添加新评论