- 创建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方法正常';
}
如果以上正常,那么就检查是否邮箱帐号的问题