六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

asp.net完成pop技巧

[摘要]一個asp.net 版本的郵件接收程序,我們知道,在asp+中發送Email是見很方便的事情,可是怎么進行收取pop信件的程序呢?看來只有拿出豆腐的殺手劍了:)首先我們來看看這個程序的代碼:pop.aspx<%@ Assembly Name="System.Net" %&...

一個asp.net 版本的郵件接收程序,我們知道,在asp+中發送Email是見很方便的事情,可是怎么進行收取pop信件的程序呢?看來只有拿出豆腐的殺手劍了:)
首先我們來看看這個程序的代碼:
pop.aspx



<%@ Assembly Name="System.Net" %>
<%@ Import Namespace="System.Net" %>
<% @Import Namespace="System.Net.Sockets" %>
<%@ Import Namespace="System.IO" %>
<script language="C#" runat=server>
protected void Page_Load(Object Src, EventArgs E){
   String user="doufu";       //郵箱用戶代碼
   String pass="asp888.net";  //郵箱用戶密碼
   String popserver="localhost"; //pop服務器IP地址 
   TCPClient tcpc = new TCPClient();
   if (0 == tcpc.Connect(popserver, 110))
   { 
      //如果程序執行到這里,就表示連接Pop Server 成功
      Stream s;
      StreamReader sr ;
      String strCmd;
      Byte[] arrCmd;
      String strRet;
      String[] arrRet;    



      sr = new StreamReader(tcpc.GetStream(), Encoding.Default);
      Response.Write(sr.ReadLine() + "<br>");  //mail server 的歡迎語
      
      strRet=Logon(tcpc,user,pass);
      
      if(JudgeString(strRet)!="+OK"){
        Response.Write("對不起,沒有這個用戶/密碼 不匹配");
        return;
      }



      //用戶和密碼 匹配,下面開始 統計用戶信箱的信息
      //這個數組中包括了所有的返回信息
      arrRet=StaticMailBox(tcpc);
      if(arrRet[0]!="+OK"){
        Response.Write("出錯了!");
        return;
      }
      Response.Write("當前的用戶<font color=blue>" + user + "</font>的信箱中共有<font color=red>" + arrRet[1] + "</font>封,共占<font color=red>" + arrRet[2] + "</font>Byte");
      
      //收信
      arrRet=PopMail(tcpc,4);
      //判斷返回
      if(arrRet[0]!="+OK"){
        Response.Write("出錯了");
      }
      Response.Write("郵件日期:" + arrRet[1] + "\n<br>");
      Response.Write("發信人:" + arrRet[2] + "\n<br>");
      Response.Write("收信人:" + arrRet[3] + "\n<br>");
      Response.Write("郵件主題:" + arrRet[4] + "\n<br>");
      Response.Write("郵件內容:" + arrRet[5] + "\n<br>");
      //關閉Socket聯結
      tcpc.Close();
    }
   else
    {
      Response.Write("Could not connect to server!");
    }
}
String SendPopCmd(TCPClient tcpc,String strCmd){
      Byte[] arrCmd;
      String strRet;
      StreamReader sr;
      Stream s;
      s=tcpc.GetStream();
      strCmd = strCmd + "\r\n";
      arrCmd= Encoding.Default.GetBytes(strCmd.ToCharArray());
      s=tcpc.GetStream();
      s.Write(arrCmd, 0, strCmd.Length);
      sr = new StreamReader(tcpc.GetStream(), Encoding.Default);
      strRet=sr.ReadLine();
      return strRet;
}
String Logon(TCPClient tcpc,String user,String pass){
      //這個函數的功能是 對 獲得聯結的用戶 身份進行驗證
      //發送 用戶代碼      
      String strRet;
      strRet=SendPopCmd(tcpc,"user " + user);
      strRet=SendPopCmd(tcpc,"pass " + pass);
      return strRet;
}
String[] StaticMailBox(TCPClient tcpc){
   String strRet;
   strRet=SendPopCmd(tcpc,"stat");
   if(JudgeString(strRet)!="+OK"){
     return "-ERR -ERR".Split(" ".ToCharArray());
   }
   String[] arrRet=strRet.Split(" ".ToCharArray());
   return arrRet;
}
String JudgeString(String strCheck){
   if(strCheck.Substring(0,3)!="+OK"){
     return "-ERR";
   }
   else
     return "+OK";
}
String[] PopMail(TCPClient tcpc,int i){
   String strRet;
   bool strBody=false;
   String[] arrRet =new String[10];
   String[] arrTemp;
   strRet=SendPopCmd(tcpc,"retr " + i.ToString());
   if(JudgeString(strRet)!="+OK"){
     //表示沒有這個信件 或者 其他的錯誤
     return "-ERR -ERR".Split(" ".ToCharArray());
   }
   StreamReader sr;
   sr = new StreamReader(tcpc.GetStream(), Encoding.Default);
   Response.Write("\n<BR>");
   Response.Write("<font color=red>\n<BR>");
   while (sr.Peek()!=46)
   {
     //呵呵,不知道 為什么 非要是 46 才可以!
     strRet=sr.ReadLine();
     arrTemp=strRet.Split(":".ToCharArray());
     if(strRet=="")
        strBody=true; //現在開始接收 Body 的信息
     if(arrTemp[0]=="Date"){
          arrRet[1]=arrTemp[1];  //信件的發送日期
          }
     if(arrTemp[0]=="From")
        arrRet[2]=arrTemp[1];  //發信人
     if(arrTemp[0]=="To")
        arrRet[3]=arrTemp[1];  //收信人
     if(arrTemp[0]=="Subject")
        arrRet[4]=arrTemp[1];  //主題
     if(strBody){
        arrRet[5]=arrRet[5] + strRet + "\n";
     }
   }



   arrRet[0]="+OK";
   return arrRet;
}
</script>
好了大家通過這個程序,首先可以了解到pop(Post Ofice Protocal)協議,其次可以加深對asp.net的socket 程序的
理解,還可以通過這個程序接收ISP提供的沒有Web方式收取郵件的程序對ISP的信箱進行管理。



主站蜘蛛池模板: 日本xxxwww在线观看免费 | 综合色99 | 全免费a级毛片免费看不卡 全黄一级片 | 婷婷国产 | 欧美一级做一a做片性视频 欧美一级做性受 | 怡春院日本一区二区久久 | 日韩欧美中字 | 午夜性色福利影院 | 天天干夜夜草 | 五月天丁香婷婷综合 | 我要色综合网 | 日本大片久久久高清免费看 | 亚洲欧美一区二区三区在线观看 | 日本高清观看视频 | 亚洲国产www | 日韩在线a视频免费播放 | 日韩在线观看免费完整版视频 | 一二三四影视在线看片 | 日韩 欧美 综合 在线 制服 | 日韩一区二区不卡 | 亚洲狠狠成人综合网 | 四虎必出精品亚洲高清 | 殴美毛片 | 日韩欧美区 | 色呦呦在线免费观看 | 亚洲精品中文字幕午夜 | 午夜资源网 | 日日碰碰视频播放 | 欧美特黄一区二区三区 | 一级十八以 下岁女子毛片 一级人做人爰a全过程免费视频 | 欧美性美| 一区二区三区视频网站 | 在线观看 一区二区 麻豆 | 日本黄网址 | 五月激情综合丁香色婷婷 | 午夜视频日本 | 手机国产乱子伦精品视频 | 亚洲视频色 | 午夜不卡视频 | 综合九九 | 四虎精品成人a在线观看 |