基于POP3协议的电子邮件接收程序的设计论文

上传人:龙*** 文档编号:107742861 上传时间:2019-10-20 格式:DOC 页数:22 大小:219KB
返回 下载 相关 举报
基于POP3协议的电子邮件接收程序的设计论文_第1页
第1页 / 共22页
基于POP3协议的电子邮件接收程序的设计论文_第2页
第2页 / 共22页
基于POP3协议的电子邮件接收程序的设计论文_第3页
第3页 / 共22页
基于POP3协议的电子邮件接收程序的设计论文_第4页
第4页 / 共22页
基于POP3协议的电子邮件接收程序的设计论文_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于POP3协议的电子邮件接收程序的设计论文》由会员分享,可在线阅读,更多相关《基于POP3协议的电子邮件接收程序的设计论文(22页珍藏版)》请在金锄头文库上搜索。

1、学学 号:号: 068108210 南阳理工学院 毕业毕业设计论文设计论文 目 录 摘摘 要要.1 1、 引 言.3 1.1 课程设 计的内 容.3 1.2 课程设计的要求3 2、设计平台简介.3 2.1 VC+3 3、邮件接收协议.5 3.1 POP3 简介.5 4、设计原理.8 4.1 POP3 交互模型.8 5、课程设计步骤.9 5.1 函数构造.9 5.2 接收邮件的步骤15 6、测试19 6.1 测试目的.19 题题 目目 基于 POP3 协议的电子邮件接收程序的设计 学学 院院 软件学院 专专 业业 软件工程 班班 级级 08 级软件工程 7 班 姓姓 名名 王志杰 指导教师指导教

2、师 刘凯 2012 年3月26日 南阳理工软件学院 毕业设计(论文) 1 6.2 测试环境.19 6.3 测试结果.19 6.4 结果分析.20 7、出现的问题及解决方法20 7.1 设计中出现的问题.20 7.2 解决方法20 参考文献参考文献21 摘摘 要要 电子邮件可以使人们有效地进行电子化的数据异地交换。Internet 以电子 邮件服务推动着人类的通信行为不断发展,邮件的接收系统。本论文以 Visual C#为开发平台,利用 Socket 套接字编程,实现了基于 POP3 协议的邮件接收程 序,介绍了 POP3 协议的原理及电子邮件接收程序的设计和实现方法。 随着Internet/I

3、ntranet的迅猛发展,电子邮件(E-Mail)已成为因特网上 非常流行、非常方便的通信方式。电子邮件技术不断进步,邮件协议也不断发 展。目前使用最广泛的电子邮件收件协议是POP3。本文采用微软最新的.NET技 术,以Visual C#为开发平台,利用Socket套接字编程开发了基于POP3协议的邮 件接收程序,现对相关原理及具体设计进行讨论。 关键词关键词 课程设计;电子邮件;接收程序;POP3;Socket;Visual C# 南阳理工软件学院 毕业设计(论文) 2 1、引、引 言言 随着Internet/Intranet的迅猛发展,电子邮件(E-Mail)已成为因特网上 非常流行、非常

4、方便的通信方式。电子邮件技术不断进步,邮件协议也不断发 展。目前使用最广泛的电子邮件收件协议是POP3。本文采用微软最新的.NET技 术,以Visual C#为开发平台,利用Socket套接字编程开发了基于POP3协议的邮 件接收程序,现对相关原理及具体设计进行讨论。 1.1 毕业设计的内容毕业设计的内容 运用 C#语言设计一个邮件程序实现邮件的接收 1.2 毕业设计的要求毕业设计的要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作 精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求

5、每个学生独立完成课程设计的全部内容。 2、设计平台简介、设计平台简介 2.1 Visual C# (1 1)背背景景 VC+是微软公司开发的一个 IDE(集成开发环境),换句话说,就是使用 C+的 一个开发平台。VC+是 Windows 平台上的 C+编程环境,学习 VC 要了解很多 Windows 平台的特性并且还要掌握 MFC、ATL、COM 等的知识,难度比较大。 Windows 下编程需要了解 Windows 的消息机制以及回调(callback)函数的原 理;MFC 是 Win32API 的包装类,需要理解文档视图类的结构,窗口类的结构, 消息流向等等;COM 是代码共享的二进制标准

6、,需要掌握其基本原理等等。 南阳理工软件学院 毕业设计(论文) 3 Visual C#作为 Visual Studio 的一个组件,可以通过安装 Visual Studio 来获得。VC 作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人 却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的, 严格的来说 VC+不是门语言,虽然它和 C+之间有密切的关系,如果形象点比喻 的话,可以把 C+看作为一种“工业标准”,而 VC+则是某种操作系统平台下的 “厂商标准”,而“厂商标准”是在遵循“工业标准”的前提下扩展而来的。 (2 2)基基本本模模式式 Visual C#使用程序的

7、开发主要有两种模式,一种是 WIN API 方式,另一种 则是 MFC 方式。VC 基于 C,C+语言,主要由是 MFC 组成,是和系统联系非常紧 密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效 率高,几乎可说 VC 在 Windows 平台无所不能。最大缺点是开发效率不高。 (3 3)适适用用范范围围 【1】 1、 VC 主要是针对 Windows 系统,适合一些系统级的开发,可以方便实现 一些底层的调用。在 VC 里边嵌入汇编语言很简单。 2、 VC 主要用在驱动程序开发。 3、 VC 执行效率高,当对系统性能要求很高的时候,可用 VC 开发。 4、 VC 主要适用于

8、游戏开发。 5、 VC 多用于单片机,工业控制等软件开发,如直接对 I/O 地址操作,就 要用 C+。 6、 VC 适用开发高效,短小,轻量级的 COM 组件,DLL。比如 WEB 上的控件。 7、 VC 可以开发优秀的基于通信的程序。 8、 VC 可以开发高效灵活的文件操作程序。 9、 VC 可以开发灵活高效的数据库操作程序。 10、VC 是编 CAD 软件的唯一选择。包括 AUTOCAD,UG 的二次开发。 11、 VC 在多线程、网络通信、分布使用方面,VC+有不可比拟的优势。 南阳理工软件学院 毕业设计(论文) 4 3、邮件接收协议、邮件接收协议 3.1 POP3 简介简介 POP3(

9、Post Office Protocol Version 3),即邮局办公协议,该协议用 于接收邮件的双方( 客户机、POP3 服务器)进行通信。使用该协议,用户可 以脱机阅读信件,而不必把客户机长期连接到网络上,以减少网络费用。POP3 协议允许用户以一定的方式从保存邮件的服务器( 即 POP3 服务器)上取走自 己的邮件。 3.2 POP3 协议工作原理协议工作原理【2】 POP3 提供了一种客户机/服务器脱机模型,客户机通过向服务器发送一些 命令来完成相应的操作。客户机能够发送的命令和它所处的状态有关。协议中 定义了三种状态:即确认状态(Authorization State)、处理状态

10、 (Transaction State)和更新状态(Update State)。在不同的状态下,客户 机可以向服务器发送的命令是有区别的,某些命令还会导致状态的转换。POP3 交互过程中的常用命令和状态转换如图 3.2.1 和表 3.2.1 所示。 南阳理工软件学院 毕业设计(论文) 5 图 3.2.1 POP3 的状态转换示意图 南阳理工软件学院 毕业设计(论文) 6 表 3.2.1 一些常用的 POP3 命令 POP3 服务器一般使用的是 TCP 的 110 号端口。当客户机和服务器建立 TCP 连接时,POP3 服务器向客户机发回一个问候,交互过程即进入确认状态。此时, 若客户机提供了自

11、己的身份并成功确认,即由确认状态转入处理状态;在这个 状态,用户可用相应的命令处理自己的邮件。在完成相应的处理过程后客户机 发出 QUIT 命令,则进入更新状态;在此状态下,POP3 服务器释放邮件资源并 返回一个告别响应;最后关闭 TCP 连接。 通过 POP3 命令查询电子邮件时,客户机可以下载指定的邮件,然后对邮件 进行删除或修改操作都无需和服务器进一步交互。客户机向服务器发送命令并 等待响应,POP3 命令采用命令行形式,用 ASCII 码表示。服务器响应是由一行 或多行组成,其中,第一行以 ASCII 文本+OK, 或-ERR 开始,分别指出相应的 操作是成功还是失败。 POP3 命

12、令包含一个大小写无关的关键字和一个或多个参量,所有的命令以 ( 回车换行符)作为其结束标志。关键字和参量必须是非控制符的 ASCII 码字符。关键字和参量之间,参量和参量之间由一个空格字符分隔开。 关键字长不大于四个字符,每个参量最长可到 40 个字符。 南阳理工软件学院 毕业设计(论文) 7 POP3 响应包含一个状态标志和一个跟随其后的附加信息。响应也用 作为其结束标志。响应最长到 512 字节,其中包括协议定义 了两个状态标志:正确(“ +OK”)和错误(“ -ERR”)。服务器用大写格式 发送“ +OK”和“ -ERR”。如果响应是多行的,则每行以结束。当响 应的所有行被发送后,接着发

13、送多行响应的结束标志行,该行仅包含一个句点 “.”和一个对【3】。 4、设计原理、设计原理 4.1 POP3 交互模型交互模型 POP3 发送者发送者 R E A D Y “Hello” “Mail from” “Rcpt to” “Data”(reque st to get) O K 接接 收收 数数 据据 Q U I T 断断 开开 连连 接接 该模型基本原理为:POP3 接收者对 POP3 发送者进行初始化连接,发送者 对接收者发送询问指令“READY”,接收者则向发送者提交所要接收数据的要求, 发送者做出回应,并发送数据。接收者则开始接收数据。发送者发送完数据后, 提出断开请求,并断开

14、连接。数据接收过程完成。 POP3POP3 接收者接收者 初初 始始 化化 连连 接接 南阳理工软件学院 毕业设计(论文) 8 5、课程设计步骤、课程设计步骤 5.1 函数构造函数构造 Windows Socket类是对Windows Socket API的封装,其中包括,CSocket和 cAsyncSocket类,使用它们能够大大简化网络通信程序的编写。套接字的数据 结构中包括下面五种数据: (1)本机主机端口:接收报文或数据报的进程。 (2)本机主机地址:接收数据包的主机。 (3)远地协议端口:目的进程或程序。 (4)远地主机端口:目的主机。 (5)协议:程序在网络上传输数据时使用的协议

15、。 本使用程序就是使用 Windows sockets 编程设计的。 在接收电子邮件时,必然需要涉及到连接服务器,接收数据,接收响应以及 断开等一系列操作这就需要设计一个类来封装这些操作,在该使用程序中制 定了一个CSMTP类。该类的定义如下所示, #define SMTP_PORT 25 #define RESPONSE_BUFFER_SIZE 1024 class CSMTP Public; CSMTP(LPCTSTR szSMTPServerName,UINT nPort= SMTP_PORT); virtualCSMTP(); void SetServerProperties(LPCT

16、STR szSMTPserverName, UINT nPort=SMTP_PORT); CString GetlastError(); UINT GetPort(); BOOL Disconnect(); BOOL Connect(); virtual BOOL FormatMAilMessage(CMailMessage * msg 南阳理工软件学院 毕业设计(论文) 9 ); BOOL getMessage(CMailMessage * msg); CString GetserverHostName(); Private; BOOL get_response(UINT response_expected); CString cook_body(CMailMessage * msg); CString m_serror; BOOL m_bconnected; UINT m_nPort; CString m_sSM

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 大学论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号