Maison développement back-end tutoriel php php应验邮箱是否真实存在

php应验邮箱是否真实存在

Jun 13, 2016 pm 01:17 PM
amp connection email quot return

php验证邮箱是否真实存在
大家好,我是php新手,现在有个问题想请教大家,就是注册时验证该email地址是否真的存在,谢谢 

环境win32+php5.45

test.php

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php echo "<center><br>检查电子邮件地址的正确性:<br>"; 
require("email_validation.php"); 
$newmail = "283285993@qq.com"; 
$validator=new email_validation_class; 
$validator->timeout=10; 

//if(IsSet($newemail) && strcmp($newemail,"")){
    if( ($result=$validator->ValidateEmailBox($newmail) )"; 
        return; 
    }else{ 
            echo "22222222";
        if(!$result){ 
            echo "您输入的信箱地址是不正确的! :)<br>"; 
            return; 
        }else{
            echo "邮箱合法!<br>"; 
        } 
    }

?>

Copier après la connexion



email_validation.php

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
 
class email_validation_class 
{ 
//var $email_regular_expression="^([a-z0-9_] |//- |//.)+@(([a-z0-9_] |//-)+//.)+[a-z]{2,4}$"; 
var $timeout=0; 
var $localhost=""; 
var $localuser=""; 
var $hosts=0;

Function GetLine($connection) 
{ 
for($line="";;) 
{ 
if(feof($connection)) 
return(0); 
$line.=fgets($connection,100); 
$length=strlen($line); 
if($length>=2 && substr($line,$length-2,2)=="/r/n") 
return(substr($line,0,$length-2)); 
} 
} 

Function PutLine($connection,$line) 
{ 
return(fputs($connection,"$line/r/n")); 
} 

Function ValidateEmailAddress($email) { 
//return(eregi($this->email_regular_expression,$email)!=0); 
//origin:
//return(eregi("^([a-z0-9_] |//- |//.)+@(([a-z0-9_] |//-)+//.)+[a-z]{2,4}$",$email)!=0); 

//return preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $_REQUEST[$email]);
return preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $_REQUEST[$email]);

} 

Function ValidateEmailHost($email,$hosts=0) 
{ 
if(!$this->ValidateEmailAddress($email)) 
return(0); 
$user=strtok($email,"@"); 
$domain=strtok(""); 
if(GetMXRR($domain,$hosts,$weights)) 
{ 
$mxhosts=array(); 
for($host=0;$host<count ksort for else if return function verifyresultlines while>GetLine($connection))) 
{ 
if(!strcmp(strtok($line," "),$code)) 
return(1); 
if(strcmp(strtok($line,"-"),$code)) 
return(0); 
} 
return(-1); 
} 

Function ValidateEmailBox($email) 
{ 
if(!$this->ValidateEmailHost($email,$hosts)) 
return(0); 
if(!strcmp($localhost=$this->localhost,"") && !strcmp($localhost=getenv("SERVER_NAME"),"") && !strcmp($localhost=getenv("HOST"),"")) 
$localhost="localhost"; 
if(!strcmp($localuser=$this->localuser,"") && !strcmp($localuser=getenv("USERNAME"),"") && !strcmp($localuser=getenv("USER"),"")) 
$localuser="root"; 
for($host=0;$host<count if>timeout ? fsockopen($hosts[$host],25,$errno,$error,$this->timeout) : fsockopen($hosts[$host],25)))) 
{ 
if($this->VerifyResultLines($connection,"220")>0 && $this->PutLine($connection,"HELO $localhost") && $this->VerifyResultLines($connection,"250")>0 && $this->PutLine($connection,"MAIL FROM: ") && $this->VerifyResultLines($connection,"250")>0 && $this->PutLine($connection,"RCPT TO: ") && ($result=$this->VerifyResultLines($connection,"250"))>=0) 
{ 
fclose($connection); 
return($result); 
} 
fclose($connection); 
} 
} 
return(-1); 
} 
}; 

?> 


 <div class="clear">
                 
              
              
        
            </div></count></count>
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de l'utilisation de return en langage C Explication détaillée de l'utilisation de return en langage C Oct 07, 2023 am 10:58 AM

L'utilisation de return en langage C est la suivante : 1. Pour les fonctions dont le type de valeur de retour est void, vous pouvez utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. 2. Pour les fonctions dont le type de valeur de retour n'est pas void, la fonction de ; l'instruction return sert à terminer l'exécution de la fonction.Le résultat est renvoyé à l'appelant ;3. Terminer l'exécution de la fonction plus tôt que prévu.À l'intérieur de la fonction, nous pouvons utiliser l'instruction return pour terminer l'exécution de la fonction plus tôt. si la fonction ne renvoie pas de valeur.

Comment utiliser les modules email, smtplib, poplib, imaplib pour envoyer et recevoir des e-mails en Python Comment utiliser les modules email, smtplib, poplib, imaplib pour envoyer et recevoir des e-mails en Python May 16, 2023 pm 11:44 PM

Le parcours d'un e-mail est le suivant : MUA : MailUserAgent - Mail User Agent. (c'est-à-dire un logiciel de messagerie similaire à Outlook) MTA : MailTransferAgent - Agent de transfert de courrier, qui correspond aux fournisseurs de services de messagerie, tels que NetEase, Sina, etc. MDA : MailDeliveryAgent - Agent de livraison du courrier. Un serveur du fournisseur de services de messagerie expéditeur->MUA->MTA->MTA->if

Que signifie CONNECTION_REFUSED ? Que signifie CONNECTION_REFUSED ? Jul 31, 2023 pm 02:48 PM

CONNECTION_REFUSED est une erreur de connexion réseau qui se produit généralement lors de la tentative de connexion à un serveur distant. Lorsqu'un appareil client tente d'établir une connexion réseau avec un serveur et que le serveur rejette la demande de connexion, une erreur CONNECTION_REFUSED est renvoyée. Les raisons courantes incluent : le serveur n'est pas démarré, le serveur ne peut pas accepter plus de demandes de connexion, le pare-feu du serveur bloque la connexion, etc.

Quel est l'ordre d'exécution des instructions return et enfin en Java ? Quel est l'ordre d'exécution des instructions return et enfin en Java ? Apr 25, 2023 pm 07:55 PM

Code source : publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Sortie La sortie du code ci-dessus peut simplement conclure : return est exécuté avant finalement. Jetons un coup d'œil à ce qui se passe au niveau du bytecode. Ce qui suit intercepte une partie du bytecode de la méthode case1 et compare le code source pour annoter la signification de chaque instruction dans

Comment résoudre l'erreur de connexion Comment résoudre l'erreur de connexion Nov 07, 2023 am 10:44 AM

Solution : 1. Vérifiez la connexion réseau ; 2. Vérifiez l'état du serveur ; 3. Effacez le cache et les cookies ; 4. Vérifiez les paramètres du pare-feu et du logiciel de sécurité ; 5. Essayez d'utiliser d'autres réseaux, etc.

Avertissement PHP : mysqli_connect() : (HY000/2002) : Solution de connexion refusée Avertissement PHP : mysqli_connect() : (HY000/2002) : Solution de connexion refusée Jun 23, 2023 am 08:54 AM

Si vous rencontrez le message d'erreur suivant lorsque vous utilisez PHP pour vous connecter à une base de données MySQL : PHPWarning:mysqli_connect():(HY000/2002):Connectionrefused, vous pouvez essayer de résoudre ce problème en suivant les étapes ci-dessous. Pour confirmer si le service MySQL fonctionne normalement, vous devez d'abord vérifier si le service MySQL fonctionne normalement. Si le service ne fonctionne pas ou ne démarre pas, cela peut provoquer une erreur de refus de connexion. peux-tu

Quelle pièce est l'AMP ? Quelle pièce est l'AMP ? Feb 24, 2024 pm 09:16 PM

Qu’est-ce que la pièce AMP ? Le token AMP a été créé par l'équipe Synereo en 2015 comme principale devise de trading de la plateforme Synereo. Le jeton AMP vise à offrir aux utilisateurs une meilleure expérience économique numérique grâce à de multiples fonctions et utilisations. Objectif du jeton AMP Le jeton AMP a plusieurs rôles et fonctions dans la plateforme Synereo. Premièrement, dans le cadre du système de récompense en crypto-monnaie de la plateforme, les utilisateurs peuvent gagner des récompenses AMP en partageant et en promouvant du contenu, un mécanisme qui encourage les utilisateurs à participer plus activement aux activités de la plateforme. Les jetons AMP peuvent également être utilisés pour promouvoir et distribuer du contenu sur la plateforme Synereo. Les utilisateurs peuvent augmenter la visibilité de leur contenu sur la plateforme en utilisant des jetons AMP pour attirer davantage de téléspectateurs à consulter et à partager.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

See all articles