首頁  >  文章  >  後端開發  >  php如何實作判斷郵箱是否有效的方法代碼

php如何實作判斷郵箱是否有效的方法代碼

不言
不言原創
2018-08-23 10:31:412896瀏覽

這篇文章帶給大家的內容是關於php如何實現判斷信箱是否有效的方法程式碼,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

function validate_email($email){

    $exp="^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";

    if(eregi($exp,$email)){ //先用正则表达式验证email格式的有效性

        if(checkdnsrr(array_pop(explode("@",$email)),"MX")){//再用checkdnsrr验证email的域名部分的有效性

            return true;

        }else{

            return false;

        }

    }else{

        return false;

    }

}

注意:checkdnsrr函數在win主機上是無效的!以下是國外某程式設計師提出的解決方法,另外寫了個函數取代checkdnsrr函數:

function myCheckDNSRR($hostName, $recType=''){

    if(!empty($hostName)){

        if( $recType=='' ) $recType="MX";

            exec("nslookup -type=$recType $hostName", $result);

        foreach($result as $line){

            if(eregi("^$hostName",$line)){

                return true;

            }

        }

       return false;

    }

    return false;

}

 相關推薦:

PHP信箱驗證範例教學課程,php信箱範例

PHP自帶方法驗證信箱是否存在,php自帶驗證郵件信箱

以上是php如何實作判斷郵箱是否有效的方法代碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn