用C语言设计电子邮件系统方案.docx

上传人:王** 文档编号:877749 上传时间:2024-02-17 格式:DOCX 页数:35 大小:251.44KB
下载 相关 举报
用C语言设计电子邮件系统方案.docx_第1页
第1页 / 共35页
用C语言设计电子邮件系统方案.docx_第2页
第2页 / 共35页
用C语言设计电子邮件系统方案.docx_第3页
第3页 / 共35页
用C语言设计电子邮件系统方案.docx_第4页
第4页 / 共35页
用C语言设计电子邮件系统方案.docx_第5页
第5页 / 共35页
用C语言设计电子邮件系统方案.docx_第6页
第6页 / 共35页
用C语言设计电子邮件系统方案.docx_第7页
第7页 / 共35页
用C语言设计电子邮件系统方案.docx_第8页
第8页 / 共35页
用C语言设计电子邮件系统方案.docx_第9页
第9页 / 共35页
用C语言设计电子邮件系统方案.docx_第10页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《用C语言设计电子邮件系统方案.docx》由会员分享,可在线阅读,更多相关《用C语言设计电子邮件系统方案.docx(35页珍藏版)》请在优知文库上搜索。

1、1引言11.1电子介绍11. 2开发背景21. 3开发环境与运行环境22软件架构与系统用例图22. 1系统架构22. 2系统总体用例32. 4发送类42. 5附加小功能类43SMTP协议的研究43. 1SMTP协议简介与工作原理53. 2SMTP协议的命令和应答63. 2.1SMTP协议的命令64RFC822124. 1叶C822简单介绍135. 2信件的头部135命名控件MailSend185. 1发送类SnltPMai1185. 2AddExtra类265. 2.1调用WindOWSAPl所需的命名空间266. 2.3在程序中具体的使用266软件运行时的界面277. 1新建277系统测试2

2、97. 1同一SMTP服务器发送的测试298. 2利用不同的SMTP服务器发送的测试309. 结论30参考文献31致31外文文献原文译文1引言1. 1电子介绍电子(简称E-mail)又称电子信箱、电子邮政,它是一种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流与数据传送,它是一个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将送到世界的各个角落。到目前为止,可以说电子是Internet资源使用最多的一种服务,E-mail不只局限于信件的传递,还可用来传递文件、声音与图形、图像等不同类型的

3、信息。电子不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送,不要求接收者同时在场,即使对方现在不在,仍可将立刻送到对方的信箱,且存储在对方的电子中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”意味着将放到收件人的信箱中,而“接收”则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的一个实体。因为电子是通过服务器(mailSerVer)来传递档的。通常maiIserver是执行多任务操作系统UNlX的计算机,它提供24小时的电子服务,用户只要向maiIse

4、rver管理人员申请一个信箱账号,就可使用这项快递的服务。电子的工作原理:1)电子系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。电子的传输是通过电子简单传输协议(SinIPleMaiITransferProtocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子通信协议。2)电子的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的一个电子信箱。并确定一个用户名和用户可以自己随意修改的口令。存储空间包含存

5、放所收信件、编辑信件以与信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。3)电子的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的发到对方的信箱中。在信箱之间进行传递和交换,也可以与另一个系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。1.2开发背景当前流行的各大客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,在了解RFC底层协议的基础上,我们开发了这个各种

6、功能相对简单实用的客户端程序,简化了很多不必要的功能。1.3开发环境与运行环境1.3.1开发环境AMDAthIon(TM),512M存,80G硬盘MicrosoftWindowsXPProfessionalMicrosoftVisuaIStudio2003(CSharp)MicrosoftDeveIoperNetworkforVisuaIStudio.NET20031.3.2运行环境IntelPentium2与以上处理器,32M以上存,4G以上硬盘MicrosoftWindows9X/NT操作系统800*600或以上的屏幕分辨率确保机器上安装有.NetFrameWork1.0或者以上版本2软件

7、架构与系统用例图2.1系统架构软件的总体架构如图2.1:2.2系统总体用例图2.1软件架构图图2.2系统总体用例图2.3程序功能框图客户端软件各种错误的提示电T-接收系统通讯簿管理电子的分类管理电子编写带有附件的发送简单发送带有附件的接收简单接收图2.3程序功能图2. 4发送类是发送的核心,类名为SnltPMaiI,隶属于命名空间MaiISend。封装了发送的具体实现方法,也是具体的RFC用代码实现的过程。而用户通过具体的操作接口,接口与SmtpMaiI类通过交互操作来实现用户发送信件的操作。3. 5附加小功能类是获取一些诸如系统时间,当前用户名,以与本机IP之类的类,类名为AddEXtra,

8、隶属于命名空间MaiISendo3SMTP协议的研究由于要开发的是客户端程序,就不得不用到SMTP协议和PoP协议。而我个人负责的是发送功能的实现,因此就必然会涉与到SMTP(SimpleMailTransferProtocol)协议。SMTP被用来在因特网上发送,该协议规定了一些基本的命令和方法使客户端与服务器进行交互,以达到发送的目的。3. 1SMTP协议简介与工作原理3. 1.1介绍简单传输协议(SMTP)的目标是可靠高效地传送,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。SMTP的一个重要特点是它能够在传送中接力传送,传送服务提供了进程间通信环境(IPCE),此环境

9、可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。是一个应用程序或进程间通信。可以通过连接在不同IPCE上的进程跨网络进行传送。更特别的是,可以通过不同网络上的主机接力式传送。3. 1.2SMTP模型SMTP设计基于以下通信模型:针对用户的请求,发送SMTP建立与接收SMTP之间建立一个双向传送通道。接收SMTP可以是最终接收者也可以是中间传送者。SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方面传送。一旦传送通道建立,SMTP发送者发送MAlL命令指明发送者。如果SMTP接收者可以接收

10、则返回OK应答。SMTP发送者再发出RCPT命令确认是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个操作),双方将如此重复多次。当接收者收到全部后会接收到特别的序列,如果接收者成功处理了,则返回OK应答。SMTP提供传送的机制,如果接收方与发送方连接在同一个传送服务下时,可以直接由发送方主机传送到接收方主机;或者,当两者不在同一个传送服务下时,通过中继SMTP服务器传送。为了能够对SMTP服务器提供中继能力,它必须拥有最终目的主机地址和名称。MAlL命令参数是回复路径,它指定从何处来;而RCPT命令的参数是转发路径的,它指定向何处去。向前路径

11、是源路径,而回复路径是返回路径(它用于发生错误时返回)。当同一个消息要发往不同的接收者时,SMTP遇到了向不同接收者发送同一份数据的复制品的问题,命令和应答有一个比较奇怪的语法,应答也有一个数字代码。在下面,例子中可以看到哪些使用实际的命令和应答。完整的命令和应答在第四节。命令与应答对大小写不敏感,也就是说,命令和应答可以是大写,小写或两者的混合,但这一点对用户名称却不一定是对的,因为有的主机对用户名大小写是敏感的。这样SMTP实现中就将用户名称保留成初始时的样子,主机名称对大小写不敏感。命令与应答由ASell字母表组成,当传送服务提供8位字节传送通道,每7位字符正确传送,而最高位被填充为0。

12、当指定一般的命令或应答格式后,参数会由一些类似于语言的字符串表示出来,如string或reverse-Path,这里尖括号表示这是一种类似于语言的变量。3. 2SMTP协议的命令和应答4. 2.1SMTP协议的命令SMTP命令定义了传输或由用户定义的系统功能。它的命令是由CRLF结束的字符串。而在带有参数的情况下,命令本身由SP和参数分开,如果未带参数可以直接和CRLF连接。的语法格式必须和接收站点的格式一致。下面讨论SMTP命令和应答。发送操作涉与到不同的数据对象,它们由不同的参数相互连接。回复路径就是MAlL命令的参数,而转发路径则是RCPT命令的参数,日期是DATA命令的参数。这些参数或

13、者数据对象必须跟在命令后。这种模式也就要求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一个转发路径缓冲区,一个容缓冲区。特定的命令产生自己的缓冲区,或使一个或多个缓冲的容被清除。HELLO(HELO)此命令用于向接收SMTP确认发送SMTPo参数域包括发送SMTP的主机名。接收SMTP通过连接确认命令来向发送SMTP确认接收SMTPo引命令和OK响应确认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态表和缓冲区已经被子清除。MAIL(MAIL)此命令用于开始将发送到一个多个中。参数域包括回复路径。返回路径中包括了可选的主机和发送者列表。当有主机列表时,它

14、是一个回复路径源,它说明此是由在表中的主机一一传递发送(第一个主机是最后一个接收到此的主机)过来的。此表也有作向发送者返回非传递信号的源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可能就是空的。此命令清除回复路径缓冲区,转发路径缓冲区和容缓冲区,并且将此命令的回复路径信息插入到回复路径缓冲区中。RECIPIENT(RCPT)此命令用于确定容的唯一接收者;多个接收者将由多个此命令指定。转发路径中包括一个可选的主机和一个必须的目的。当出现主机列表时,这就是一个源路径,它指明必须向列表中的上

15、一个主机发送。如果接收SMTP未实现的传递发送,就会返回如未知本地用户(550)的信息给用户。当被传递发送时,传递主机必须将自己的名称由转发路径的开始处移至回复路径的结束处。当最终到达目的地时,接收SMTP将以它的主机格式自己的名称插入目标中。例如,由传递主机A接收的带有如下参数的时,FR0M:TOHOSTA.ARPA,HOSTB.ARPArUSERCHOSTD.ARPA将会变成如下彩式:fromhosta.arpa:userxhosty.arpaTOHOSTB.ARPArUSERCHOSTD.ARPA.此命令导致它的转发路径参数加入转发路径缓冲区中。DATA(DATA)接收者将跟在命令后的行作为容。此命令导致此命令后的容加入容缓冲区。容可以包括所有128个ASCll码字符。容由只包括一个句号的行结束,也就是如下的字符序列:n.h,它指示了的结束。容的结束指示要求接收者现在就处理保存的容。此过程将回复路径缓冲区,转发路径缓冲区和容缓冲区

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!