基于POP3协议的电子邮件接收程序的设计论文djzy.docx
《基于POP3协议的电子邮件接收程序的设计论文djzy.docx》由会员分享,可在线阅读,更多相关《基于POP3协议的电子邮件接收程序的设计论文djzy.docx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 课外设计(论文)学 号:200884044201142课外设计计论文题 目基于POOP3协协议的电电子邮件件接收程程序的设设计教 学 院计算机学学院专 业网络工程程班 级08级(1)班班姓 名李清平指导教师师严 伟20111年6月24日目 录录摘要11、引言言31.1 课程设设计的内内容31.2 课程设设计的要要求32、设计计平台简简介32.1 VC+33、邮件件接收协协议53.1 POPP3简介介54、设计计原理884.1 POPP3交互互模型885、课程程设计步步骤95.1 函数构构造95.2 接收邮邮件的步步骤1556、测试试196.1 测试目目的1996.2 测试环环境1996.3
2、测试结结果1996.4 结果分分析2007、出现现的问题题及解决决方法2207.1设设计中出出现的问问题2007.2解解决方法法20参考文献献21摘要电子邮件件可以使使人们有有效地进进行电子子化的数数据异地地交换。IInteerneet以电电子邮件件服务推推动着人人类的通通信行为为不断发发展。本文以VC+为开开发平台台,利用用Socckett套接字字编程,实实现了基基于POOP3协协议的邮邮件接收收程序,介绍了了POPP3协议议的原理理及电子子邮件接接收程序序的设计计与实现现方法。随着Innterrnett/Inntraanett的迅猛猛发展,电电子邮件件(E-Maiil)已已成为因因特网上上
3、非常流流行、非非常方便便的通信信方式。电电子邮件件技术不不断进步步,邮件件协议也也不断发发展。目目前应用用最广泛泛的电子子邮件收收件协议议是POOP3。本本文采用用微软最最新的.NETT技术,以以VC+为开开发平台台,利用用Socckett套接字字编程开开发了基基于POOP3协协议的邮邮件接收收程序,现现对相关关原理及及具体设设计进行行讨论。关键词课课程设计计;电子邮邮件;接接收程序序;POOP3;Socckett;VCC+1、引言言随着Innterrnett/Inntraanett的迅猛猛发展,电电子邮件件(E-Maiil)已已成为因因特网上上非常流流行、非非常方便便的通信信方式。电电子邮件
4、件技术不不断进步步,邮件件协议也也不断发发展。目目前应用用最广泛泛的电子子邮件收收件协议议是POOP3。本本文采用用微软最最新的.NETT技术,以以VC+为开开发平台台,利用用Socckett套接字字编程开开发了基基于POOP3协协议的邮邮件接收收程序,现现对相关关原理及及具体设设计进行行讨论。1.1 课程设设计的内内容运用VCC+语语言设计计一个邮邮件程序序实现邮邮件的接接收1.2 课程设设计的要要求(1)按按要求编编写课程程设计报报告书,能能正确阐阐述设计计结果。(2)通通过课程程设计培培养学生生严谨的的科学态态度,认认真的工工作作风风和团队队协作精精神。(3)学学会文献献检索的的基本方方
5、法和综综合运用用文献的的能力。(4)在在老师的的指导下下,要求求每个学学生独立立完成课课程设计计的全部部内容。2、设计计平台简简介2.1 VC+(1)背背景VC+是微软软公司开开发的一一个IDDE(集集成开发发环境),换句句话说,就是使使用C+的的一个开开发平台台。VCC+是是Winndowws平台台上的CC+编编程环境境,学习习VC要要了解很很多Wiindoows平平台的特特性并且且还要掌掌握MFFC、AATL、CCOM等等的知识识,难度度比较大大。Wiindoows下下编程需需要了解解Winndowws的消消息机制制以及回回调(ccalllbacck)函函数的原原理;MMFC是是Winn3
6、2AAPI的的包装类类,需要要理解文文档视图图类的结结构,窗窗口类的的结构,消消息流向向等等;COMM是代码码共享的的二进制制标准,需需要掌握握其基本本原理等等等。VC+作为Visuual Studdio的的一个组组件,可可以通过过安装VVisuual Studdio来来获得。VC作作为一个个主流的的开发平平台一直直深受编编程爱好好者的喜喜爱,但但是很多多人却对对它的入入门感到到难于上上青天,究究其原因因主要是是大家对对他错误误的认识识造成的的,严格格的来说说VC+不是是门语言言,虽然然它和CC+之之间有密密切的关关系,如如果形象象点比喻喻的话,可可以把CC+看看作为一一种“工工业标准准”,而
7、而VC+则是是某种操操作系统统平台下下的“厂厂商标准准”,而而“厂商商标准”是是在遵循循“工业业标准”的的前提下下扩展而而来的。 (2)基基本模式式VC+应用程程序的开开发主要要有两种种模式,一一种是WWIN APII方式,另另一种则则是MFFC方式式。VC基基于C,CC+语语言,主主要由是是MFCC组成,是是与系统统联系非非常紧密密的编程程工具,它它兼有高高级,和和低级语语言的双双重性,功功能强大大,灵活活,执行行效率高高,几乎乎可说VVC在 Winndowws平台台无所不不能。最最大缺点点是开发发效率不不高。 (3)适适用范围围【1】1、 VVC主要要是针对对Winndowws系统统,适合
8、合一些系系统级的的开发,可可以方便便实现一一些底层层的调用用。在VVC里边边嵌入汇汇编语言言很简单单。 2、 VC主主要用在在驱动程程序开发发。3、 VC执执行效率率高,当当对系统统性能要要求很高高的时候候,可用用VC开开发。 4、 VC主主要适用用于游戏戏开发。5、 VC多多用于单单片机,工工业控制制等软件件开发,如如直接对对I/OO地址操操作,就就要用CC+。 6、 VC适适用开发发高效,短短小,轻轻量级的的COMM组件,DLLL。比如如WEBB上的控控件。 7、 VC可可以开发发优秀的的基于通通信的程程序。 8、 VC可可以开发发高效灵灵活的文文件操作作程序。 9、 VC可可以开发发灵活
9、高高效的数数据库操操作程序序。 100、VCC是编CCAD软软件的唯唯一选择择。包括AAUTOOCADD,UGG的二次次开发。 11、VC在多线程、网络通信、分布应用方面,VC+有不可比拟的优势。3、邮件件接收协协议3.1 POPP3简介介POP33(Poost Offficee Prrotoocoll Veersiion 3),即即邮局办办公协议议,该协协议用于于接收邮邮件的双双方(客客户机、PPOP33服务器器)进行行通信。使使用该协协议,用用户可以以脱机阅阅读信件件,而不不必把客客户机长长期连接接到网络络上,以以减少网网络费用用。POOP3协协议允许许用户以以一定的的方式从从保存邮邮件的
10、服服务器(即POP3服务器)上取走自己的邮件。3.2 POPP3协议议工作原原理【22】POP33提供了了一种客客户机/服务器器脱机模模型,客客户机通通过向服服务器发发送一些些命令来来完成相相应的操操作。客客户机能能够发送送的命令令与它所所处的状状态有关关。协议议中定义义了三种种状态:即确认认状态(AAuthhoriizattionn Sttatee)、处处理状态态(Trranssacttionn Sttatee)和更更新状态态(Uppdatte SStatte)。在在不同的的状态下下,客户户机可以以向服务务器发送送的命令令是有区区别的,某某些命令令还会导导致状态态的转换换。POOP3交交互过
11、程程中的常常用命令令和状态态转换如如图3.2.1和表表3.2.1所示示。图3.22.1 POPP3的状状态转换换示意图图表3.22.1 一些常常用的PPOP33命令POP33服务器器一般使使用的是是TCPP的1110号端端口。当当客户机机与服务务器建立立TCPP连接时时,POOP3服服务器向向客户机机发回一一个问候候,交互互过程即即进入确确认状态态。此时时,若客客户机提提供了自自己的身身份并成成功确认认,即由由确认状状态转入入处理状状态;在在这个状状态,用用户可用用相应的的命令处处理自己己的邮件件。在完完成相应应的处理理过程后后客户机机发出QQUITT命令,则则进入更更新状态态;在此此状态下下
12、,POOP3服服务器释释放邮件件资源并并返回一一个告别别响应;最后关关闭TCCP连接接。通过POOP3命命令查询询电子邮邮件时,客客户机可可以下载载指定的的邮件,然然后对邮邮件进行行删除或或修改操操作都无无需与服服务器进进一步交交互。客客户机向向服务器器发送命命令并等等待响应应,POOP3命命令采用用命令行行形式,用用ASCCII码码表示。服服务器响响应是由由一行或或多行组组成,其其中,第第一行以以ASCCII文文本+OK, 或-ERRR开始,分分别指出出相应的的操作是是成功还还是失败败。POP33命令包包含一个个大小写写无关的的关键字字和一个个或多个个参量,所所有的命命令以(回回车换行行符)
13、作作为其结结束标志志。关键键字和参参量必须须是非控控制符的的ASCCII码码字符。关关键字和和参量之之间,参参量和参参量之间间由一个个空格字字符分隔隔开。关关键字长长不大于于四个字字符,每每个参量量最长可可到400个字符符。POP33响应包包含一个个状态标标志和一一个跟随随其后的的附加信信息。响响应也用用作作为其结结束标志志。响应应最长到到5122字节,其其中包括括协协议定义义了两个个状态标标志:正正确(“ +OKK”)和错错误(“ -ERRR”)。服服务器用用大写格格式发送送“ +OKK”和“ -ERRR”。如果果响应是是多行的的,则每每行以结束束。当响响应的所所有行被被发送后后,接着着发送
14、多多行响应应的结束束标志行行,该行行仅包含含一个句句点“.”和一个个对对【3】。4、设计计原理4.1 POPP3交互互模型POP3接收者初始化连接POP3发送者READY“Hello”“Mail from”“Rcpt to”“Data”(reque st to get)OK接收数据QUIT断开连接该模型基基本原理理为:PPOP33接收者者对POOP3发发送者进进行初始始化连接接,发送送者对接接收者发发送询问问指令“REAADY”,接收收者则向向发送者者提交所所要接收收数据的的要求,发发送者做做出回应应,并发发送数据据。接收收者则开开始接收收数据。发发送者发发送完数数据后,提提出断开开请求,并并
15、断开连连接。数数据接收收过程完完成。5、课程程设计步步骤5.1 函数构构造WinddowssSockket类类是对WWinddows Sockket APII的封装装,其中中包括,CCSocckett和cAsyncSSockket类类,使用用它们能能够大大大简化网网络通信信程序的的编写。套套接字的的数据结结构中包包括下面面五种数数据:(1)本本机主机机端口:接收报报文或数数据报的的进程。(2)本本机主机机地址:接收数数据包的的主机。(3)远远地协议议端口:目的进进程或程程序。(4)远远地主机机端口:目的主主机。(5)协协议:程程序在网网络上传传输数据据时使用用的协议议。本应用程程序就是是使用W
16、Winddowss soockeets编程程设计的的。在接收电电子邮件件时,必必然需要要涉及到到连接服服务器,接接收数据据,接收收响应以以及断开开等一系系列操作作这就就需要设设计一个个类来封封装这些些操作,在在该应用用程序中中制定了了一个CCSMTTP类。该该类的定定义如下下所示,#deffine SSMTPP_PORRT 225#deffine RRESPPONSE_BUFFEER_SSIZEE 10024classs CCSMTTPPubllic;CSMTTP(LLPCTSTTR sszSMMTPSServverNNamee,UINNT nnPorrt=SMTPP_PORRT);virtt
17、uallCSMMTP();voidd SeetSeerveerPrropeertiies(LPPCTSTTR sszSMMTPsserverrName,UINTT nPPortt=SMMTP_PORRT);CStrring GGetllasttErrror();UINTT GeetPoort();BOOLL Diiscoonneect();BOOLL Coonnecct();virttual BBOOL FoormaatMAilMMesssagee(CMMaillMesssagge * msg);BOOLL geetMeessaage(CMaailMMesssagee * msg);CStrr
18、ing GGetsservverHostNaame();Privvatee;BOOLL geet_respoonse(UINNTreespoonsee_exppectted);CStrringg coook_boddy(CCMaiilMeessaage * mmsg);CStrring mm_seerroor;BOOLL m_bcoonnecctedd;UINTT m_nPoort;CStrringg m_sSMMTPSServverHHosttName;CSocckett m_wsSMTTPSeerveer;prottectted;virttuaII BOOOL traansmmit_mes
19、ssagee(CMMaillMesssagge * msg);struuct ressponnse_coddeUINTT nReesponsse;TCHAAR * sMMesssagee;enumm eRResponnseGENEERICC_SUCCCESSS=O,CONNNECT_SUCCESSS,DATAA_SUCCCESSS,QUITT_SUCCCESS,LASTT_RESSPONSEE);TCHAAR * reespoonsee_buuf;stattic ressponsse_codde rrespoonse_tabble;);其中,mm_sErroor成员员代表错错误信息息,m_bC
20、onnecctedd表示是是否建立立连接;m_bPort表示示SMTTP服务务器所使使用的端端口号,m_sSMTPserverHostName表示SMTP服务器的主机名(地址);m_waSMTPserver则为将与SMTP服务器建立连接的套接字对象;response_table表示由服务器返回的响应,而eResponse列举了所有可能出现的错误。因为电子子邮件有有其特殊殊的结构构,不单单简单地地将其作作为文本本进行处处理。例例如,邮邮件必须须在邮件件头和邮邮件体后后发送,而而在收信信时,先先需要解解析邮件件头和邮邮件体CMaailMMesssagee类是对对邮件进进行格式式化编码码的一个个类【
21、44】。CSMTTP类的的构造函函数如下下所示:CSMTTP:; CSSMTPP(LPPCTSTRR szSMTPPSerrverNNamee,UINTT nPPortt)ASSSERT(szSSMTPPServverNNamee l = NNULLL);AfxSSockeetInnit();m_sSSMTPPserrverrHosstNamme= azSSMTPPSerrverrNamme;m_nPPortt=nPoort;m_bCConnnecteed = FALLSE;m_sEErroor= _T(“OKK”);respponsse_buf =NULLL;在这里调调用Affxsoocke
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 POP3 协议 电子邮件 接收 程序 设计 论文 djzy
限制150内