C# Pop3类详细剖析

开发 后端
这里介绍我们就在该类的基础上设计C# Pop3类。包括介绍C# Pop3类包含了邮件通讯所必须的基本属性、方法和事件。

C#语言有很多值得学习的地方,这里我们主要介绍C# Pop3类,包括介绍C# Pop3类包含了邮件通讯所必须的基本属性、方法和事件等方面。

C# Pop3类:

我们就在该类的基础上设计C# Pop3类。C# Pop3类包含了邮件通讯所必须的基本属性、方法和事件。

首先,我们来设计其中的属性。该类应该包括主机名、端口号、用户名、密码、邮件数量、邮件总体积、邮件内容和状态信息等属性。其中前四个属性是可读又可写的,后四个属性是只可读的。

具体的设置如下: 

  1. public string Host  
  2. {  
  3. get {return host;}  
  4. set  
  5. {  
  6. if(value == null || value.Trim().Length == 0)  
  7. {  
  8. throw new ArgumentException("Invalid host name.");  
  9. }  
  10. host = value;  
  11. }  
  12. }  
  13.  
  14. ///  
  15. /// 端口号  
  16. ///  
  17. public int Port  
  18. {  
  19. get {return port;}  
  20. set  
  21. {  
  22. if(value <= 0)  
  23. {  
  24. throw new ArgumentException("Invalid port.");  
  25. }  
  26. port = value;  
  27. }  
  28. }  
  29.  
  30. ///  
  31. /// 用户名  
  32. ///  
  33. public string UserName  
  34. {  
  35. get {return username;}  
  36. set  
  37. {  
  38. if(value == null || value.Trim().Length == 0)  
  39. {  
  40. throw new ArgumentException("Invalid user name.");  
  41. }  
  42. username = value;  
  43. }  
  44. }  
  45.  
  46. ///  
  47. /// 密码  
  48. ///  
  49. public string PassWord  
  50. {  
  51. get {return password;}  
  52. set  
  53. {  
  54. if(value == null)  
  55. {  
  56. throw new ArgumentException("Invalid password.");  
  57. }  
  58. password = value;  
  59. }  
  60. }  
  61.  
  62. ///  
  63. /// 邮件数量  
  64. ///  
  65. public int NumOfMails  
  66. {  
  67. get {return numofmails;}  
  68. }  
  69.  
  70. ///  
  71. /// 邮件总体积  
  72. ///  
  73. public double TotalSize  
  74. {  
  75. get {return totalsize;}  
  76. }  
  77.  
  78. ///  
  79. /// 邮件内容  
  80. ///  
  81. public string Body  
  82. {  
  83. get {return body;}  
  84. }  
  85.  
  86. ///  
  87. /// 状态信息  
  88. ///  
  89. public string Status  
  90. {  
  91. get {return status;}  
  92. }  

完成了该类的属性设计,我们接下来就完成该类的方法设计。该类主要的方法就一个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类。

【编辑推荐】

  1. C#线程同步详细分析
  2. C#探讨木马程序浅谈
  3. C# Pop3Connection类简介
  4. C#数据类型简单介绍
  5. C#计算素数序列浅谈
责任编辑:佚名 来源: 博客园
相关推荐

2009-09-02 17:24:39

C#构造POP3服务器

2009-09-07 13:33:36

C# Pop3Conn

2009-08-27 17:14:36

C# Socket

2009-09-03 16:58:49

C#内存管理

2009-08-31 17:26:32

C#异常处理

2009-09-18 10:00:17

C#数组操作

2009-08-27 17:51:34

C#匿名方法

2009-09-11 11:17:04

C#引用类型

2009-09-07 14:29:52

C# ServiceC

2010-07-15 10:50:19

Telnet命令

2009-09-02 18:14:33

C# WebClien

2010-04-06 13:23:56

CentOS系统

2009-08-28 15:38:49

C#实现断点续传

2009-09-04 11:06:40

C#访问修饰符

2009-08-31 16:29:21

C#控制输入法

2010-07-14 14:31:27

POP3和IMAP4

2009-09-01 16:29:03

QuickSort C

2009-08-28 10:44:46

C#字符数组转换

2009-09-01 11:04:59

C#调用扩展方法

2009-08-27 16:29:18

C#动态编译
点赞
收藏

51CTO技术栈公众号