CS模式下电子邮件系统设计与实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CS模式下电子邮件系统设计与实现

CS模式下的电子邮件系统设计与实现   摘要:本文就网络聊天服务器程序和网络聊天客户程序两个方面展开论述。前者通过Socket套接字建立服务器,服务器能读取,转发客户端发来信息。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。根据局域网通信机制的原理,通过直接继承Thread类来建立多线程。在网络鳊程中对信息的读取、发送,利用流来实现信息的交换,对实现一个系统的信息流进行分析。首先在短时间内建立系统应用原型,然后对初始原型系统进行不断修正和改进,直到形成实用系统。   关键词:客户端/服务器端模式 套接字 电子邮件   中图分类号:TP393 文献标识码:A 文章编号:1672-3791(201 2)01(b)-0045-05   1 系统总体框架   电子邮件系统可分为客户端和服务器两部分,根据邮件在传输时使用的协议它们又分别可以分为SMTP和POP3协议。图1中给出了电子邮件系统的整体框架结构。首先由ESMTP客户端编写并发送邮件;SMTP服务器接收到邮件后根据收件人是否是本地用户进行分发。如果是本地用户,则将邮件直接投递到用户邮箱中;如果是远程邮箱,则将邮件转发到收件人所在的服务器上;最后收件人通过POP3客户端经过POP3服务器,把邮件从服务器上的邮箱中取到本地主机上进行解析和显示。      2 EsMTP客户端的详细设计   2.1 检查邮件信息完整性模块   当发送邮件时,点击发送按钮,首先是对界面上要求用户填写的邮件信息区域进行检查。   2.2 邮件信息编码模块   当点击发送按钮后,并对相关填写信息核对后,就进入邮件信息编码模块,现在的SMTP服务器都需要身份验证,即为EsMTP,而在验证前首先要对用户名和密码进行Base64的编码。   2.3 邮件发送模块   当经过邮件信息完整性检查和信息编码后,则进入邮件发送模块,邮件发送模块是指从连接服务器开始到邮件发送成功的整个过程。只有遵照ESMTP协议,按照一定的过程与服务器交互,才能将用户已经写好的邮件完整无缺的发送出去,这整个交互过程是在Winsock控件的DataArrival事件中完成的。   2.4 附件选取功能实现   首先添加CommonDialog控件,名称为dlgFile,因为CommonDialog控件提供诸如打开和保存文件、设置打印选项、选择颜色和字体等操作的一组标准对话框。而程序中只需要CommonDialog控件提供打开这个标准对话框。通过打开这个对话框我们可以选取要添加的附件路径。其次再添加两个按钮控件,分别名称为cmdAddAdjunct与cmdRemoveAdjunct,前者为添加附件按钮,后者为删除附件按钮。   2.5 状态显示功能实现   在发送邮件过程中,当客户端与服务器进行交互时,一般各个状态是在客户端与服务器默认情况下进行的,但是为了让用户了解到传输的过程,因此添加了状态显示功能,用label控件可以实现此功能。   3 POP3客户端的详细设计   3.1 客户端连接POP3服务器   当填写好pop服务器地址、用户名、密码时点击按钮,此时按钮的Click事件里就开始与服务器建立连接,只有遵照POP3协议,按照一定的过程与服务器交互,才能够从指定的服务器上指定的账号中获得完整的邮件信息。Winsockl_DataArrivai过程首先还是调用Winsock控件中的GetData方法从系统缓冲区中取得服务器发回的消息,然后遵照POP3协议进行解析并给出相应的回应。   3.2 从POP3服务器上检取邮件   从POP3服务器上检取邮件,是在程序POP3_RETR状态进行的,在检取的过程中用到了两个类函数分别是Cmessage类和Cmessages类。首先Cmessage类是代表个体,Cmessage类模块包装了从服务器上接收POP3邮件,它提供了各种属性和方法来访问邮件的不同参数。   3.3 用户界面上显示选定的邮件   当在列表试图中选定某个邮件时,邮件接收客户端就会认为用户想要浏览这封邮件,于是在相应列表试图的ItemClick事件时,我们从邮件集合中读取相应邮件,并将邮件内容显示在正文文本框内。   4 搭建虚拟局域网服务器   因为本测试阶段需要电子邮件客户端利用向虚拟局域网邮件服务器和广域网公共邮件服务器上发送或接收邮件的试验对比,来测试其兼容有效性,这就需要搭建一个虚拟邮件服务器,本文通过Windows Server 2003提供的POP3服务和SMTP服务架设小型邮件服务器来满足需要。   4.1 安装POP3和SMTP服务组件   Windows Server 2003下手工添加POP3和SMTP服务组件。   4.2 安装PO

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档