C#語言有很多值得學習的地方,這里我們主要介紹C# Pop3類,包括介紹C# Pop3類包含了郵件通訊所必須的基本屬性、方法和事件等方面。
C# Pop3類:
我們就在該類的基礎上設計C# Pop3類。C# Pop3類包含了郵件通訊所必須的基本屬性、方法和事件。
首先,我們來設計其中的屬性。該類應該包括主機名、端口號、用戶名、密碼、郵件數量、郵件總體積、郵件內容和狀態信息等屬性。其中前四個屬性是可讀又可寫的,后四個屬性是只可讀的。
具體的設置如下:
- public string Host
- {
- get {return host;}
- set
- {
- if(value == null || value.Trim().Length == 0)
{ throw new ArgumentException("Invalid host name."); } host = value; } } /// /// 端口號 /// public int Port { get {return port;} set { if(value <= 0) { throw new ArgumentException("Invalid port."); } port = value; } } /// /// 用戶名 /// public string UserName { get {return username;} set { if(value == null || value.Trim().Length == 0) { throw new ArgumentException("Invalid user name."); } username = value; } } /// /// 密碼 /// public string PassWord { get {return password;} set { if(value == null) { throw new ArgumentException("Invalid password."); } password = value; } } /// /// 郵件數量 /// public int NumOfMails { get {return numofmails;} } /// /// 郵件總體積 /// public double TotalSize { get {return totalsize;} } /// /// 郵件內容 /// public string Body { get {return body;} } /// /// 狀態信息 /// public string Status { get {return status;} }
完成了該類的屬性設計,我們接下來就完成該類的方法設計。該類主要的方法就一個ReceiveMessage(),顧名思義就是接收郵件信息的意思。通過這個對象,我們就可以更加方便的進行網絡通訊的操作。不過,在具體介紹這個方法的實現以前,我先得向大家介紹一下郵件接收的基本原理。
其基本原理如下:
一開始便是客戶端與服務器的連接。不過,在客戶端連接到服務器之前,注意把端口設為POP3協議默認的110號。客戶端連接服務器成功后,服務器會返回以下信息:
+OK……
字符+OK是POP3協議的返回信息。它的回應信息不像SMTP協議那樣用豐富多變的數字表示,只有兩個:+OK或者-ERR。其中,+OK表示連接成功,而-ERR則表示連接失敗。接下來,客戶端輸入USER <用戶名>,該命令告訴服務器你的用戶名。注意,有些服務器會區分大小寫字母的。
服務器返回+OK后,客戶端輸入PASS <口令>
服務器返回+OK后,還返回一些郵箱的統計信息,比如:+OK 1 message(s) [1304 byte(s)]不同的服務器返回的信息格式不太一樣,所以我們可以用STAT命令來查看郵箱的情況。STAT命令的回應中有兩個數字,分別表示郵件的數量和郵件的大小。以上介紹C# Pop3類。
【編輯推薦】
- C#線程同步詳細分析
- C#探討木馬程序淺談
- C# Pop3Connection類簡介
- C#數據類型簡單介紹
- C#計算素數序列淺談