我正在使用表單。在用戶輸入他們的電子郵件的地方,我可以通過正則表達式驗證電子郵件。但我需要的是像this。搜索後,我找到了一個解決方案here。因爲它檢查電子郵件的MX記錄。但是對我來說這仍然不起作用,因爲當我發送一封粗略的電子郵件時:[email protected]
我的表單接受了它,並且當我在另一個網站上發送同一封電子郵件時,它拒絕了電子郵件。這可能是我的邏輯問題,我不知道,下面是我的代碼,我正在驗證電子郵件。如何使用php驗證任何電子郵件
if(isset($_GET["saveData"])){
\t $_appid = $_GET["appid"];
\t $_name = $_GET["name"];
\t $_email = $_GET["email"];
\t $_pass = $_GET["pass"];
\t $_applink = $_GET["applink"];
\t function domain_exists($email, $record = 'MX'){
\t \t list($user, $domain) = explode('@', $email);
\t \t return checkdnsrr($domain, $record);
\t }
\t if(!empty($_appid) && !empty($_name) && !empty($_email) && !empty($_pass) && !empty($_applink)){
\t \t if(!domain_exists($_email) OR !filter_var($_email, FILTER_VALIDATE_EMAIL)) {
\t \t \t echo "email_prb";
\t \t } else{
\t \t \t $sl = "SELECT * FROM fb_data WHERE useremail = '$_email' OR fbappid = '$_appid' ";
\t \t \t $count = $con->query($sl);
\t \t \t if(mysqli_num_rows($count)>0){
\t \t \t \t echo "exists";
\t \t \t }else{
\t \t \t \t $in = "INSERT INTO fb_data VALUES(NULL,'$_name','$_email','$_pass','$_applink','$_appid',1,0)";
\t \t \t \t if ($con->query($in)) {
\t \t \t \t \t echo "Inserted";
\t \t \t \t }
\t \t \t }
\t \t }
\t } else{
\t echo "empty";
\t }
}
雖然「ahhhhhhhhhhhhhhhhh @ yahoo.com」有什麼問題(或者說「可能」)? – zerkms
通過MX的電子郵件驗證的意思是,它檢查任何域的電子郵件,如果此電子郵件存在或不存在 – Nadeem
MX檢查意味着它只檢查授權DNS是否有該域的MX記錄。 – zerkms