怎么验证一个信箱的有效性!? 用mail发一封邮件给他,随机产生一串数字,发完后,将这串数字写入数据库。然后,做一个专门的程序,要求其点击,将这串数字从数据库中去掉,那么同时也就是确认了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 lyzcom(初学者,什么都不懂) 有道理!还有别的什么好办法吗!? 在LINUX下用PERL写一个PING对方邮件地址的程序,用PHP调用之; 在LINUX下用PERL写一个PING对方邮件地址的程序,用PHP调用之; xuguoxin(原来如北) 高手,有没有简单点的办法!? xuguoxin(原来如北) 的方法不可行的,只能确定 邮件地址所在域的是否存在。最可行的方法是lyzcom(初学者,什么都不懂) 的socket编程好像也不能解决的。这里存在安全性的问题,smtp服务器应该是没有确定用户是否存在的指令的 我记得旅行的fastboard那里有的,你去找找吧 http://www.fastboard.org/forum/read.php?topicid=769&page=1 <?phpfunction validateEmail ( $email ){ global $SERVER_NAME; $return = array ( false, "" ); list ( $user, $domain ) = split ( "@", $email, 2 ); $tld = $domain; if ( checkdnsrr ( $tld, "MX" ) ) { if ( getmxrr ( $tld, $mxhosts, $weight ) ) { for ( $i = 0; $i < count ( $mxhosts ); $i++ ) { $fp = fsockopen ( $mxhosts[$i], 25 ); if ( $fp ) { $s = 0; $c = 0; $out = ""; set_socket_blocking ( $fp, false ); do { $out = fgets ( $fp, 2500 ); if ( ereg ( "^220", $out ) ) { $s = 0; $out = ""; $c++; } else if ( ( $c > 0 ) && ( $out == "" ) ) { break; } else { $s++; } if ( $s == 9999 ) { break; } } while ( $out == "" ); set_socket_blocking ( $fp, true ); fputs ( $fp, "HELO $SERVER_NAME\n" ); $output = fgets ( $fp, 2000 ); fputs ( $fp, "MAIL FROM: <info@" . $tld . ">\n" ); $output = fgets ( $fp, 2000 ); fputs ( $fp, "RCPT TO: <$email>\n" ); $output = fgets ( $fp, 2000 ); if ( ereg ( "^250", $output ) ) { $return[0] = true; } else { $return[0] = false; $return[1] = $output; } fputs ( $fp, "QUIT\n" ); fclose( $fp ); if ( $return[0] == true ) { break; } } } } } return $return;}//test!!!!!!!!!!$email="[email protected]";$res= validateEmail ( $email );if ($res[0]==1){print "存在该email ";print $email;}else{print "不存在该email ";print $email;}?> ucenter的接口api uc_user_register调用导致页面崩溃,是什么原因啊? [求助]PHP中用正则替换文本 多维数组数据,做下拉菜单,怎样读取对应ID的TEXT php页面无法显示 两段字符串找出其中不同并显示出来还要知道是第几行第几个字不同. 呃 好难呐.. 暂时没分,可以记账 Apche服务器的问题 sql语句问题? php 数组合并的问题 wamp换版本后为什么php扩展这里全是感叹号?按照网上的方法配置了 请问. 大家能将这段asp程序改为php的,或推荐一个php的flash留言版都送分
的方法不可行的,只能确定 邮件地址所在域的是否存在。最可行的方法是
lyzcom(初学者,什么都不懂) 的socket编程好像也不能解决的。
这里存在安全性的问题,smtp服务器应该是没有确定用户是否存在的指令的
function validateEmail ( $email )
{
global $SERVER_NAME;
$return = array ( false, "" );
list ( $user, $domain ) = split ( "@", $email, 2 );
$tld = $domain;
if ( checkdnsrr ( $tld, "MX" ) )
{
if ( getmxrr ( $tld, $mxhosts, $weight ) )
{
for ( $i = 0; $i < count ( $mxhosts ); $i++ )
{
$fp = fsockopen ( $mxhosts[$i], 25 );
if ( $fp )
{
$s = 0;
$c = 0;
$out = "";
set_socket_blocking ( $fp, false );
do
{
$out = fgets ( $fp, 2500 );
if ( ereg ( "^220", $out ) )
{
$s = 0;
$out = "";
$c++;
}
else if ( ( $c > 0 ) && ( $out == "" ) )
{ break; }
else
{ $s++; }
if ( $s == 9999 ) { break; } } while ( $out == "" );
set_socket_blocking ( $fp, true ); fputs ( $fp, "HELO $SERVER_NAME\n" );
$output = fgets ( $fp, 2000 );
fputs ( $fp, "MAIL FROM: <info@" . $tld . ">\n" );
$output = fgets ( $fp, 2000 );
fputs ( $fp, "RCPT TO: <$email>\n" );
$output = fgets ( $fp, 2000 );
if ( ereg ( "^250", $output ) )
{
$return[0] = true;
}
else
{
$return[0] = false;
$return[1] = $output;
}
fputs ( $fp, "QUIT\n" );
fclose( $fp ); if ( $return[0] == true )
{ break; }
}
}
}
}
return $return;
}
//test!!!!!!!!!!
$email="[email protected]";
$res= validateEmail ( $email );
if ($res[0]==1)
{
print "存在该email ";print $email;
}
else{
print "不存在该email ";print $email;
}?>