PHP检查电子邮件地址是否存在?

时间:2017-11-22 11:31:58

标签: php

我正在尝试检查是否存在,但即使我的电子邮件地址存在,也始终会返回false

function EmailValidation($email)
 { 
    $email = htmlspecialchars(stripslashes(strip_tags($email))); //parse unnecessary characters to prevent exploits

    if (filter_var($email, FILTER_VALIDATE_EMAIL)) 
    { //checks to make sure the email address is in a valid format
    $domain = explode( "@", $email ); //get the domain name
        if ( @fsockopen ($email,80,$errno,$errstr,3)) 
        {
            //if the connection can be established, the email address is probably valid
            return "yes";
        } else 
        {
            return "no"; //if a connection cannot be established return false
        }
    //return "not valid"; //if email address is an invalid format return false
  }
}

 $ve = EmailValidation("myemail@gmail.com");

print_r($ve);

我有500k的电子邮件,我已经被赋予了查找的任务,哪些电子邮件存在,哪些没有。我不想发送电子邮件,但检查电子邮件是否存在。我该如何解决?

1 个答案:

答案 0 :(得分:2)

无法检查是否存在电子邮件地址。检查主机可用性也可以忽略不计,因为最大的用户使用了一个优秀可靠的邮件提供商。

除了电子邮件名称字符串验证之外,您唯一能做的就是向每个条目发送电子邮件,看看您是否会收到任何错误电子邮件。当电子邮件不再存在时,大多数提供商会向您发送无法投递的邮件。但这可能发生在1分钟后,1小时后,1天后或任何时间之后。

结论:无法检查电子邮件地址是否真的存在。