在开发一个软件的过程中,被安排实现邮件接收并下载附件的任务,故在此记录下开发过程,适合菜鸟入门。
刚开始的时候用如下方式实现与邮件服务器的连接,但是读取邮件的过程中时钟出现乱码现象,这个方法主要是用C#中网络编程的类实现的。
而且接收到邮件之后在实现附件下载的过程中困难比较大,所以放弃了此方法,但还是把代码贴出来,因为这个代码对于邮件收发原理的理解还是有帮助的。
邮件收发大致分为以下几个步骤:与邮件服务器连接——用户登录——接收邮件——断开连接,代码中三个button程序构成程序主体,实现了这几个步骤
通过TCPCLIENT对象建立客户端连接;
然后发不通的命令参数与服务器交互;
//为程序添加网络编程中一些重要的类
using System.Net; // 命名空间为当前网络上使用的多种协议提供了简单的编程接口。 WebRequest 和 WebResponse 类形成了所谓的可插接式协议的基础,可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet 资源的应用程序,而不必考虑各种不同协议的具体细节。
using System.Net.Sockets; //命名空间为需要严密控制网络访问的开发人员提供了 Windows Sockets (Winsock) 接口的托管实现。
using System.IO; //命名空间包含允许读写文件和数据流的类型以及提供基本文件和目录支持的类型。
//为类添加一些公有的数据成员
public TcpClient Server; //为 TCP 网络服务提供客户端连接。
public NetworkStream NetStrm; //提供用于网络访问的基础数据流。
public StreamReader RdStrm; //实现一个 TextReader,使其以一种特定的编码从字节流中读取字符。
public string Data;
public byte[] szData;
public string CRLF = "\r\n";
/// <summary>
/// 完成了到POP3服务器的连接工作,并根据用户名和密码进行登录。