ホームページ バックエンド開発 PHPチュートリアル PHPはメールアドレスが実際に存在するかどうかを確認します

PHPはメールアドレスが実際に存在するかどうかを確認します

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

php でメール アドレスが本当に存在するかどうかを確認します
皆さん、こんにちは。php を初めて使用します。登録時にメール アドレスが本当に存在するかどうかを確認する必要があります。ありがとうございます。

環境 win32+php5.45

test.php

PHP コード
<!--

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) )<0){ 
        echo "不能确定您的信箱是否正确. 您的信箱离这里太远了吧?<br/>"; 
        return; 
    }else{ 
            echo "22222222";
        if(!$result){ 
            echo "您输入的信箱地址是不正确的! :)<br/>"; 
            return; 
        }else{
            echo "邮箱合法!<br/>"; 
        } 
    }

?>

ログイン後にコピー



email_validation.php

PHP コード
<!--

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

-->

クラス email_validation_class
{
//var $email_正規表現="^([a-z0-9_] |//- |//.)+@(([a-z0-9_] |//-)+//.)+[a-z] {2,4}$";
var $timeout=0;
var $localhost="";
var $localuser="";
var $hosts=0;

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

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

関数 ValidateEmailAddress($email) {
//return(eregi($this->email_正規表現,$email)!=0);
//起源:
//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]);

}

関数 ValidateEmailHost($email,$hosts=0)
{
if(!$this->ValidateEmailAddress($email))
リターン(0);
$user=strtok($email,"@");
$domain=strtok("");
if(GetMXRR($domain,$hosts,$weights))
{
$mxhosts=array();
for($host=0;$host<count ksort for if return verifyresultlines while>GetLine($connection)))
{
if(!strcmp(strtok($line," "),$code))
戻り値(1);
if(strcmp(strtok($line,"-"),$code))
リターン(0);
}
戻り値(-1);
}

関数 ValidateEmailBox($email)
{
if(!$this->ValidateEmailHost($email,$hosts))
リターン(0);
if(!strcmp($localhost=$this->localhost,"") && !strcmp($localhost=getenv("SERVER_NAME"),"") && !strcmp($localhost=getenv("HOST")," "))
$localhost="ローカルホスト";
if(!strcmp($localuser=$this->localuser,"") && !strcmp($localuser=getenv("USERNAME"),"") && !strcmp($localuser=getenv("USER")," "))
$localuser="ルート";
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: <$localuser@$localhost>") && $this->VerifyResultLines($connection,"250")>0 && $this ->PutLine($connection,"RCPT TO: <$email>") && ($result=$this->VerifyResultLines($connection,"250"))>=0)
{
fclose($connection);
戻り値($結果);
}
fclose($connection);
}
}
戻り値(-1);
}
};

?>


 <div class="clear"></div></count></count>
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語のreturnの使い方を詳しく解説 C言語のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C 言語における return の使い方は、 1. 戻り値の型が void の関数については、return 文を使用して関数の実行を早期に終了することができます; 2. 戻り値の型が void ではない関数については、 return ステートメントは、関数の実行を終了するためのものです。結果は呼び出し元に返されます。 3. 関数の実行を早期に終了します。関数内で return ステートメントを使用して、関数の実行を早期に終了することもできます。関数が値を返さない場合。

電子メール、smtplib、poplib、imaplib モジュールを使用して Python で電子メールを送受信する方法 電子メール、smtplib、poplib、imaplib モジュールを使用して Python で電子メールを送受信する方法 May 16, 2023 pm 11:44 PM

電子メールの流れは次のとおりです: MUA: MailUserAgent - メール ユーザー エージェント。 (つまり、Outlook に似た電子メール ソフトウェア) MTA: MailTransferAgent - メール転送エージェント。NetEase、Sina などの電子メール サービス プロバイダーです。 MDA: MailDeliverAgent - メール配信エージェント。電子メール サービス プロバイダーのサーバー sender->MUA->MTA->MTA->if

CONNECTION_REFUSED とはどういう意味ですか? CONNECTION_REFUSED とはどういう意味ですか? Jul 31, 2023 pm 02:48 PM

CONNECTION_REFUSED は、通常、リモート サーバーに接続しようとしたときに発生するネットワーク接続エラーです。クライアント デバイスがサーバーとのネットワーク接続を確立しようとして、サーバーが接続要求を拒否すると、CONNECTION_REFUSED エラーが返されます。一般的な理由には、サーバーが起動していない、サーバーがこれ以上の接続要求を受け入れることができない、サーバーのファイアウォールが接続をブロックしているなどがあります。

接続エラーの解決方法 接続エラーの解決方法 Nov 07, 2023 am 10:44 AM

解決策: 1. ネットワーク接続を確認する; 2. サーバーの状態を確認する; 3. キャッシュと Cookie をクリアする; 4. ファイアウォールとセキュリティ ソフトウェアの設定を確認する; 5. 他のネットワークを使用してみるなど。

Javaのreturn文とfinally文の実行順序は何ですか? Javaのreturn文とfinally文の実行順序は何ですか? Apr 25, 2023 pm 07:55 PM

ソースコード: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#出力 上記のコードの出力は、単純に次のように結論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

PHP 警告: mysqli_connect(): (HY000/2002): 接続が拒否された場合の解決策 PHP 警告: mysqli_connect(): (HY000/2002): 接続が拒否された場合の解決策 Jun 23, 2023 am 08:54 AM

PHP を使用して MySQL データベースに接続するときに次のエラー メッセージが表示された場合: PHPWarning:mysqli_connect():(HY000/2002):Connection拒否された場合は、以下の手順に従ってこの問題の解決を試みることができます。 MySQL サービスが正常に動作しているかどうかを確認するには、まず MySQL サービスが正常に動作しているかどうかを確認する必要がありますが、サービスが動作していない、または開始に失敗している場合は、接続拒否エラーが発生する可能性があります。あなたはできる

AMPとは何のコインですか? AMPとは何のコインですか? Feb 24, 2024 pm 09:16 PM

AMPコインとは何ですか? AMP トークンは、Synereo プラットフォームの主要取引通貨として 2015 年に Synereo チームによって作成されました。 AMP トークンは、複数の機能と用途を通じてユーザーに優れたデジタル経済体験を提供することを目的としています。 AMP トークンの目的 AMP トークンには、Synereo プラットフォームで複数の役割と機能があります。まず、プラットフォームの暗号通貨報酬システムの一部として、ユーザーはコンテンツを共有および宣伝することで AMP 報酬を獲得できます。これは、ユーザーがプラットフォームのアクティビティにより積極的に参加することを促すメカニズムです。 AMP トークンは、Synereo プラットフォームでコンテンツを宣伝および配布するために使用することもできます。ユーザーは、AMP トークンを使用して、より多くの視聴者に視聴して共有してもらうことで、プラットフォーム上でのコンテンツの可視性を高めることができます。

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

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

See all articles