<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      網絡協議研究(二)POP3

      上一次我們詳細討論了SMTP的方方面面,作為郵件發送中的基礎協議,SMTP發揮了巨大的作用,是目前發送郵件的標準。SMTP是一個推送協議,將報文從用戶推送到服務器。為了讀取郵件,我們還需要將郵件拉取到客戶,即今天研究的POP3和下一次將測試的IMAP。

      測試代碼下載 

      POP3,全名為"Post Office Protocol - Version 3",即"郵局協議版本3"。是TCP/IP協議族中的一員,由RFC 1939 定義。本協議主要用于支持使用客戶端遠程管理在服務器上的電子郵件。提供了SSL加密的POP3協議被稱為POP3S

      POP 協議支持"離線"郵件處理。其具體過程是:郵件發送到服務器上,電子郵件客戶端調用郵件客戶機程序以連接服務器,并下載所有未閱讀的電子郵件。這種離線訪問模式是一種存儲轉發服務,將郵件從郵件服務器端送到個人終端機器上,一般是 PC 機或 MAC。一旦郵件發送到 PC 機或 MAC 上,郵件服務器上的郵件將會被刪除。但目前的POP3郵件服務器大都可以"只下載郵件,服務器端并不刪除",也就是改進的POP3協議。

      一、POP3 RFCs

       

      • RFC 1939 - "Post Office Protocol - Version 3"
      • RFC 2195 - "IMAP/POP AUTHorize Extension for Simple Challenge/Response"
      • RFC 2449 - "POP3 Extension Mechanism"
      • RFC 1734 - "POP3 AUTHentication command"
      • RFC 2222 - "Simple Authentication and Security Layer (SASL)"
      • RFC 3206 - "The SYS and AUTH POP Response Codes"
      • RFC 2595 - "Using TLS with IMAP, POP3 and ACAP"
      • RFC 937 - "POST OFFICE PROTOCOL - VERSION 2"
      • RFC 918 - "POST OFFICE PROTOCOL"

       

      二、POP3流程

       

      三、獲取郵件并分析

      .NET中沒有對POP3的相關操作進行封裝,故我采用了第三方解決方案,LumiSoft.Net類庫。

      LumiSoft.Net是由Ivar Lumi開發的免費,開放源碼的.Net網絡協議庫,包含了DNS Client, FTP Client/Server, ICMP, IMAP Client/Server, MIME, NNTP, POP3 Client/Server, SMTP Client/Server等協議/規范的實現。你可以在這里下載所有的源碼/二進制文件/文檔,也可以在LumiSoft.Net Forum里獲取支持。

       

      SVN:

      https://svn.lumisoft.ee:8443/svn/LumiSoft_Net/

      User: readonly

      Password: readonly

       

      還是打開VS2010,建立一個控制臺項目,寫入如下代碼:

       

      代碼
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Net.Mail;
      using LumiSoft.Net.Mime;
      using LumiSoft.Net.POP3.Client;
      using System.IO;

      namespace POP3Demo
      {
          
      class Program
          {
              
      private void POP3Test()
              {
                  
      using (POP3_Client pop3 = new POP3_Client())
                  {
                      
      //與Pop3服務器建立連接
                      pop3.Connect("pop.163.com"110false);
                      
      //驗證身份
                      pop3.Authenticate("undead_47@163.com""******"false);

                      FileStream fs 
      = new FileStream("mail.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                      StreamWriter sw 
      = new StreamWriter(fs);
                      
      //get all messages
                      foreach (POP3_ClientMessage info in pop3.Messages)
                      {
                          
      byte[] bytes = info.MessageToByte();
                          Mime mime 
      = Mime.Parse(bytes);

                          sw.Write(mime.BodyText 
      + "\n\n");
                      }

                      sw.Flush();
                      fs.Flush();
                      sw.Close();
                      fs.Close();
                  }
              }

              
      static void Main(string[] args)
              {
                  Program p 
      = new Program();
                  p.POP3Test();
              }
          }
      }

       

       

       

      打開WireShark,Filter輸入POP,運行代碼,可以看到相關的報文:

       

      我將讀取的郵件保存在了mail.txt中:

       

      四、POP3常見命令

      以下對幾個常用的pop3命令作一個簡單的介紹:

      命令

      參數

      狀態

      描述

      user

      username

      認可

      此命令與下面的pass命令若成功,將導致狀態轉換

      pass

      password

      認可

       

      apop

      name,digest

      認可

      一種安全傳輸口令的辦法,digest是md5消息摘要,執行成功導致狀態轉換,請參見RFC 1321

      stat

      none

      處理

      請求服務器發回關于郵箱的統計資料,如郵件總數和總字節數

      uidl

      [msg#]

      處理

      返回郵件的唯一標識符,pop3會話的每個標識符都將是唯一的

      list

      [msg#]

      處理

      返回郵件數量和每個郵件的大小

      retr

      [msg#]

      處理

      返回由參數標識的郵件的全部文本

      dele

      [msg#]

      處理

      服務器將由參數標識的郵件標記為刪除,由quit命令執行

      rset

      none

      處理

      服務器將重置所有標記為刪除的郵件,用于撤消dele命令

      top

      [msg#],n

      處理

      服務器將返回由參數標識的郵件前n行內容,n必須是正整數

      noop

      none

      處理

      服務器返回一個肯定的響應,不做任何操作。

      quit

      none

      更新

      退出

       

      小結:

      POP3目前也被幾乎所有郵件服務提供商所支持,國內除了新浪免費郵箱不支持POP3加密外,其他主流服務商均提供POP3加密。POP3很簡單,但是功能有限。如POP3不能在下載郵件之前檢查郵件的頭部、搜索郵件內容,無法自定義服務器郵箱等。而這些正是IMAP的優點,正因如此,目前廣泛使用的郵件協議為SMTP/IMAP,POP3并不常用。關于IMAP的介紹請參閱后續篇章。

      posted @ 2011-02-04 19:51  江蘇瑞步科技  閱讀(1826)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产欧美另类久久久精品丝瓜| 安化县| 国产系列高清精品第一页| 亚洲精品无码日韩国产不卡av| 九九在线精品国产| 99国产精品欧美一区二区三区 | 亚洲av永久无码精品天堂久久| 91蜜臀国产自产在线观看| 久久日产一线二线三线| 伊人精品久久久大香线蕉| 国产成人综合久久久久久| 最新av中文字幕无码专区| 狠狠色噜噜狠狠狠狠色综合久| 骚虎视频在线观看| 成人无码午夜在线观看| 漂亮的保姆hd完整版免费韩国| 亚洲人成小说网站色在线| 渑池县| 成人免费xxxxx在线观看| 伊人天天久大香线蕉av色| 国产免费高清69式视频在线观看| 国产欧美另类久久久精品不卡| 亚洲精品麻豆一二三区| 伊人久久大香线焦av综合影院| 久久亚洲精品11p| 亚洲av色香蕉一区二区三| 久久精品av国产一区二区| 垫江县| 欧美18videosex性欧美tube1080| 久久夜色噜噜噜亚洲av| 国产99视频精品免费视频36| 国产综合视频一区二区三区| 国产成人高清精品免费软件| 91精品久久久久久无码人妻| 久久精品国产99国产精品澳门| 国产av亚洲一区二区| 欧美一性一乱一交一视频| 亚洲国产精品久久久久婷婷图片 | 亚洲日韩亚洲另类激情文学| 免费无码又爽又刺激高潮虎虎视频 | 激情综合网激情国产av|