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#计算素数序列浅谈