邮件-如何快速的筛选出有效的邮箱?

发布于 2016-10-22 07:15:43 字数 60 浏览 1857 评论 2

现在手上有一批邮箱(千万级别),但是有很多邮箱服务器已经不存在了,有什么办法能快速的过滤出有效邮件服务器?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜柠檬 2017-09-17 22:06:20

为了一劳永逸,建议还是直接导入到数据库,两个字段就行,

一个为完整的email, 一个为主机域名(@后边的部分)

如果只是检测 邮箱服务器是否存在可以 按照 主机域名 分组 查询
select host from email group by host

然后 依次使用下面的方法判断:
$handle = @fsockopen('smtp'.$host, 25, $errno, $errstr, 20);

如果 $handle 为 false ,$errno 为10060 直接按照 host 当条件删除记录
delete from email where host = $host

表中剩下的记录可视为 邮箱服务器有效。

当然也可以使用 checkdnsrr() 等 函数来检测。

灵芸 2017-05-15 05:06:42

这里提供一个方法,你试一试,这是以前收藏的:
补充:为了不误导大家,这里说明下,此方法希望在把邮箱域名归档后再进行验证,避免重复的验证

function check_mail($useremail){
$smtp = explode("@",$useremail);
$username = $smtp[0];
$smtp = 'smtp.'.$smtp[1];
$flag = "";
$message="";
$message .= "开始连接服务器<br>";
$link = fsockopen($smtp,25);
if ($link){
set_socket_blocking($link,true);
$lastmessage=fgets($link,512);
if (!ereg("^220",$lastmessage)){
$message .= "与服务器连接失败" . $lastmessage . "<br>";
}else{
$message .= "与服务器连接成功,服务器就绪:" . $lastmessage . "<br>";

fputs($link,"HELO phpsetmail"."rn");
$lastmessage=fgets($link,2000);
if (ereg("^250",$lastmessage)){
$message .= "与服务器HELO成功:" .$lastmessage. "<br>";
}
else{
$message .= "与服务器HELO失败:" .$lastmessage. "<br>";
}
fputs($link,"AUTH LOGIN"."rn");
$lastmessage=fgets($link,2000);
if (ereg("^334",$lastmessage)){
$message .= "请求与服务器进行用户验证成功:" .$lastmessage. "<br>";
}
else{
$message .= "请求与服务器进行用户验证失败:" .$lastmessage. "<br>";
}
fputs($link,base64_encode($username)."rn");
$lastmessage=fgets($link,2000);
if (ereg("^334",$lastmessage)){
$message .= "与服务器用户验证成功:" .$lastmessage. "<br>";
$flag = 1;
}else{
$message .= "与服务器用户验证失败:" .$lastmessage. "<br>";
$flag = -2;
}
fputs($link,"HELPrn");
$lastmessage=fgets($link,2000);
$message .= "HELP命令执行情况:".$lastmessage. "<br>";
}
fclose($link);
$message .= "关闭服务器连接";
}
else{
$message = $useremail.$smtp."服务器连接失败";
$flag = -1;
}

$return = array("msg"=>$message,"flag"=>$flag);

return $return;
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文