亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

pop3郵件收取一例

2019-11-18 21:52:18
字體:
來源:轉載
供稿:網友
test_pop3.php

<HTML>
<HEAD>
<TITLE>Test for Manuel Lemos's PHP POP3 class</TITLE>
</HEAD>
<BODY>
<?
require("pop3.php");

$user="user";
$passWord="passwd";
$apop=0;
$pop3_connection=new pop3_class;
$pop3_connection->hostname="mail.xiaocui.com";
if(($error=$pop3_connection->Open())=="")
{
   echo "<PRE>Connected to the POP3 server &quot;$pop3_connection->hostname&quot;.</PRE>/n";
   if(($error=$pop3_connection->Login($user,$password,$apop))=="")
   {
      echo "<PRE>User &quot;$user&quot; logged in.</PRE>/n";
      if(($error=$pop3_connection->Statistics(&$messages,&$size))=="")
      {
         echo "<PRE>There are <b>$messages</b> messages in the mail box with a total of <b>$size</b> bytes.</PRE>/n";
         $result=$pop3_connection->ListMessages("",0);
         if(GetType($result)=="array")
         {
            for(Reset($result),$message=0;$message<count($result);Next($result),$message++)
               echo "<PRE>Message ",Key($result)," - ",$result[Key($result)]," bytes.</PRE>/n";
             if($messages>0)
            {
                if(($error=$pop3_connection->RetrieveMessage(1,&$headers,&$body,-1))=="")
                {
                  echo "<PRE>Message 1:/n---Message headers starts below---</PRE>/n";
                  for($line=0;$line<count($headers);$line++)
                     echo "<PRE>",HtmlSpecialChars($headers[$line]),"</PRE>/n";
                  echo "<PRE>---Message headers ends above---/n---Message body starts below---</PRE>/n";
                  for($line=0;$line<count($body);$line++)
                     echo "<PRE>",HtmlSpecialChars($body[$line]),"</PRE>/n";
                  echo "<PRE>---Message body ends above---</PRE>/n";
                     
                  }
               }
             if($error==""&&($error=$pop3_connection->Close())=="")
                  echo "<PRE>Disconnected from the POP3 server &quot;$pop3_connection->hostname&quot;.</PRE>/n";
         }
        else
           $error=$result;
      }
   }
}
if($error!="")
   echo "<H2>Error: ",HtmlSpecialChars($error),"</H2>";
?>
</BODY>
</HTML>


pop3.php

<?

class pop3_class
{
        var $hostname="";
        var $port=110;

        var $connection=0;
        var $state="DISCONNECTED";
        var $greeting="";
        var $must_update=0;
        var $debug=0;

        Function OutputDebug($message)
        {
                echo $message,"<br>/n";
        }

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

        Function PutLine($line)
        {
                if($this->debug)
                        $this->OutputDebug("> $line");
                return(fputs($this->connection,"$line/r/n"));
        }

        Function OpenConnection()
        {
                if($this->hostname=="")
                        return("2 it was not specified a valid hostname");
                switch(($this->connection=fsockopen($this->hostname,$this->port)))
                {
                        case -3:
                                return("-3 socket could not be created");
                        case -4:
                                return("-4 dns lookup on hostname /"$hostname/" failed");
                        case -5:
                                return("-5 connection refused or timed out");
                        case -6:
                                return("-6 fdopen() call failed");
                        case -7:
                                return("-7 setvbuf() call failed");
                        default:
                                return("");
                }
        }

        Function CloseConnection()
        {
                if($this->connection!=0)
                {
                        fclose($this->connection);
                        $this->connection=0;
                }
        }

        Function Open()
        {
                if($this->state!="DISCONNECTED")
                        return("1 a connection is already opened");
                if(($error=$this->OpenConnection())!="")
                        return($error);
                $this->greeting=$this->GetLine();
                if(GetType($this->greeting)!="string"
                || strtok($this->greeting," ")!="+OK")
                {
                        $this->CloseConnection();
                        return("3 POP3 server greeting was not found");
                }
                $this->greeting=strtok("/r/n");
                $this->must_update=0;
                $this->state="AUTHORIZATION";
                return("");
        }
        
        Function Close()
        {
                if($this->state=="DISCONNECTED")
                        return("no connection was opened");
                if($this->must_update)
                {
                        if($this->PutLine("QUIT")==0)
                                return("Could not send the QUIT command");
                        $response=$this->GetLine();
                        if(GetType($response)!="string")
                                return("Could not get quit command response");
                        if(strtok($response," ")!="+OK")
                                return("Could not quit the connection: ".strtok("/r/n"));
                }
                $this->CloseConnection();
                $this->state="DISCONNECTED";
                return("");
        }

        Function Login($user,$password,$apop)
        {
                if($this->state!="AUTHORIZATION")
                        return("connection is not in AUTHORIZATION state");
                if($apop)
                {
                        if($this->PutLine("APOP $user ".md5($this->greeting.$password))==0)
                                return("Could not send the APOP command");
                        $response=$this->GetLine();
                        if(GetType($response)!="string")
                                return("Could not get APOP login command response");
                        if(strtok($response," ")!="+OK")
                                return("APOP login failed: ".strtok("/r/n"));
                }
                else
                {
                        if($this->PutLine("USER $user")==0)
                                return("Could not send the USER command");
                        $response=$this->GetLine();
                        if(GetType($response)!="string")
                                return("Could not get user login entry response");
                        if(strtok($response," ")!="+OK")
                                return("User error: ".strtok("/r/n"));
                        if($this->PutLine("PASS $password")==0)
                                return("Could not send the PASS command");
                        $response=$this->GetLine();
                        if(GetType($response)!="string")
                                return("Could not get login password entry response");
                        if(strtok($response," ")!="+OK")
                                return("Password error: ".strtok("/r/n"));
                }
                $this->state="TRANSACTION";
                return("");
        }

        /* Statistics method - pass references to variables to hold the number of
     messages in the mail box and the size that they take in bytes.  */

        Function Statistics($messages,$size)
        {
                if($this->state!="TRANSACTION")
                        return("connection is not in TRANSACTION state");
                if($this->PutLine("STAT")==0)
                        return("Could not send the STAT command");
                $response=$this->GetLine();
                if(GetType($response)!="string")
                        return("Could not get the statistics command response");
                if(strtok($response," ")!="+OK")
                        return("Could not get the statistics: ".strtok("/r/n"));
                $messages=strtok(" ");
                $size=strtok(" ");
                return("");
        }

        Function ListMessages($message,$unique_id)
        {
                if($this->state!="TRANSACTION")
                        return("connection is not in TRANSACTION state");
                if($unique_id)
                        $list_command="UIDL";
                else
                        $list_command="LIST";
                if($this->PutLine("$list_command $message")==0)
                        return("Could not send the $list_command command");
                $response=$this->GetLine();
                if(GetType($response)!="string")
                        return("Could not get message list command response");
                if(strtok($response," ")!="+OK")
                        return("Could not get the message listing: ".strtok("/r/n"));
                if($message=="")
                {
                        for($messages=array();;)
                        {
                                $response=$this->GetLine();
                                if(GetType($response)!="string")
                                        return("Could not get message list response");
                                if($response==".")
                                        break;
                                $message=intval(strtok($response," "));
                                if($unique_id)
                                        $messages[$message]=strtok(" ");
                                else
                                        $messages[$message]=intval(strtok(" "));
                        }
                        return($messages);
                }
                else
                {
                        $message=intval(strtok(" "));
                        return(intval(strtok(" ")));
                }
        }

        Function RetrieveMessage($message,$headers,$body,$lines)
        {
                if($this->state!="TRANSACTION")
                        return("connection is not in TRANSACTION state");
                if($lines<0)
                {
                        $command="RETR";
                        $arguments="$message";
                }
                else
                {
                        $command="TOP";
                        $arguments="$message $lines";
                }
                if($this->PutLine("$command $arguments")==0)
                        return("Could not send the $command command");
                $response=$this->GetLine();
                if(GetType($response)!="string")
                        return("Could not get message retrieval command response");
                if(strtok($response," ")!="+OK")
                        return("Could not retrieve the message: ".strtok("/r/n"));
                for($headers=$body=array(),$line=0;;$line++)
                {
                        $response=$this->GetLine();
                        if(GetType($response)!="string")
                                return("Could not retrieve the message");
                        switch($response)
                        {
                                case ".":
                                        return("");
                                case "":
                                        break 2;
                                default:
                                        if(substr($response,0,1)==".")
                                                $response=substr($response,1,strlen($response)-1);
                                        break;
                        }
                        $headers[$line]=$response;
                }
                for($line=0;;$line++)
                {
                        $response=$this->GetLine();
                        if(GetType($response)!="string")
                                return("Could not retrieve the message");
                        switch($response)
                        {
                                case ".":
                                        return("");
                                default:
                                        if(substr($response,0,1)==".")
                                                $response=substr($response,1,strlen($response)-1);
                                        break;
                        }
                        $body[$line]=$response;
                }
                return("");
        }

};

?>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久激情视频久久| 黄网站色欧美视频| 九九九热精品免费视频观看网站| 日韩女优人人人人射在线视频| 精品久久久久久久久久久| 久久久久国产视频| 欧美又大又硬又粗bbbbb| 中文字幕av一区二区三区谷原希美| 国产精品第一页在线| 亚洲精品色婷婷福利天堂| 亚洲成人黄色网址| 国产精品69精品一区二区三区| 成人福利视频在线观看| 中文字幕日韩精品在线| 久久久久久久999精品视频| 2019最新中文字幕| 亚洲国产女人aaa毛片在线| 亚洲网址你懂得| 97成人超碰免| 8x海外华人永久免费日韩内陆视频| 亚洲精品电影网| 欧美丰满少妇xxxxx做受| 69视频在线播放| 91国产视频在线| 亚洲女人天堂成人av在线| 欧美日韩亚洲一区二| 国产精品丝袜久久久久久不卡| 亚洲成人教育av| 日韩高清av在线| 久久精品国产欧美亚洲人人爽| 久久久人成影片一区二区三区观看| 国产成人精彩在线视频九色| 国产日韩欧美中文| 欧美一级大片在线观看| 久久精品国产免费观看| 国产精品一区二区久久精品| 日韩免费观看在线观看| 久久久成人精品视频| 国产精品扒开腿做爽爽爽视频| 日韩中文字幕视频在线观看| www.日韩.com| 亚洲一区亚洲二区亚洲三区| 国产精品草莓在线免费观看| 国产精品成人免费视频| 久久久日本电影| 欧美一区二区大胆人体摄影专业网站| 亚洲国语精品自产拍在线观看| 91国产中文字幕| 国内精品模特av私拍在线观看| 搡老女人一区二区三区视频tv| 亚洲精品欧美日韩专区| 国产精品成av人在线视午夜片| 日韩三级影视基地| 日韩欧美亚洲成人| 国产精品日韩专区| 中文字幕自拍vr一区二区三区| 欧美精品第一页在线播放| 国产精品久久久久久久久久久久久| 亚洲精品欧美极品| 国产情人节一区| 国产欧美日韩亚洲精品| 国产精品尤物福利片在线观看| 久久精品国产亚洲7777| 亚洲国产成人在线视频| 亚洲香蕉在线观看| 欧美日韩成人在线播放| 91精品在线观看视频| 国产精品永久在线| 成人97在线观看视频| 国产欧美一区二区三区在线看| 欧美精品videos性欧美| 亚洲综合自拍一区| 国产精品久久久一区| 亚洲欧美综合精品久久成人| 一区国产精品视频| 国产精品电影网站| 日韩大片免费观看视频播放| 日韩电影大全免费观看2023年上| 亚洲视频免费一区| 国产999精品久久久影片官网| www.国产精品一二区| 亚洲欧美变态国产另类| 亚洲国产欧美一区二区三区久久| 欧美性开放视频| 欧美午夜精品久久久久久久| 日本亚洲精品在线观看| 久久99精品久久久久久噜噜| 国产成人高潮免费观看精品| 久久精品这里热有精品| 成人写真福利网| 欧美电影免费观看高清完整| 欧美激情一区二区久久久| 亚洲天堂免费视频| 国产精品午夜一区二区欲梦| 亚洲精品日韩激情在线电影| 久久99热这里只有精品国产| 日韩欧美在线视频日韩欧美在线视频| 日韩中文在线中文网在线观看| 人人澡人人澡人人看欧美| 久久成人精品视频| 精品国产欧美一区二区三区成人| 亚洲欧美国产精品va在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 国产精品网站大全| 日韩在线欧美在线国产在线| 亚洲成人精品av| 欧美激情精品久久久久久大尺度| 成人在线国产精品| 日韩av有码在线| 国产一区二区三区四区福利| 尤物九九久久国产精品的特点| 欧美电影免费观看| 91亚洲永久免费精品| 亚洲成人中文字幕| 91久久久久久久久久久久久| 久久久久国产精品www| www.日韩不卡电影av| 九九视频直播综合网| 国产精品r级在线| 国产乱人伦真实精品视频| 日韩av电影院| 2019亚洲日韩新视频| 欧美wwwxxxx| 久久影视三级福利片| 亚洲美女视频网站| 96精品视频在线| 国产一区二区久久精品| 搡老女人一区二区三区视频tv| 国产一区二区香蕉| 亚洲国产精品中文| 欧美老少做受xxxx高潮| 国产91精品黑色丝袜高跟鞋| 97国产精品久久| 国产精品com| 在线观看亚洲区| 亚洲精品久久久久久久久久久| 国内外成人免费激情在线视频网站| 国产suv精品一区二区三区88区| 精品国产乱码久久久久久婷婷| 久久久噜噜噜久久中文字免| 亚洲白拍色综合图区| 久久成人这里只有精品| 欧美巨乳在线观看| 国产精品视频内| 欧美国产视频日韩| 日韩**中文字幕毛片| 狠狠躁夜夜躁人人爽天天天天97| 九九精品视频在线观看| 日韩欧美一区视频| 国产一级揄自揄精品视频| 丰满岳妇乱一区二区三区| 色综合五月天导航| 日韩av在线一区二区| 国产日韩在线看| 中文字幕欧美日韩在线| 国产日韩换脸av一区在线观看| 国产伦精品一区二区三区精品视频| 日韩电视剧在线观看免费网站| 深夜福利91大全| 成人福利网站在线观看11| 欧美日韩精品在线播放| 亚洲人成网站色ww在线| 国产日韩欧美在线| 欧美国产视频一区二区|