电子邮件发送程序的设计与实现_第1页
电子邮件发送程序的设计与实现_第2页
电子邮件发送程序的设计与实现_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1 前沿 1 1.1 课题背景 1.1.2 课程设计目的 2.1.3 课程设计基本任务 2.2 设计平台简介 3.3、设计原理 4.3.1 软件总体架构 4.3.2 程序功能框架图 4.3.3 协议研究与分析 5.3.4 环境说明 6.4. 详细设计 7.4.1 窗体界面控件设计 7.4.2 程序实现 8.5、系统的实现与测试 发送电子邮件程序主界面(带附件) 1. 55.2 接收界面(带附件) 1.56、结束语 1.7.参考文献 1.8.电子邮件发送程序的设计与实现摘 要 电子邮件 (简称 1)又称电子信箱、 电子邮政, 它是种用电子手段提供 信息交换的通信方式。电子邮件

2、软件的最基本功能就是实现邮件的发送与接收, 本课程设计完成电子邮件的发送功能实现。 本程序是在了解底层协议的协议和协 议基础上,以 2005 为开发平台,使用控件并使用编程语言从协议规定的底层命 令做起一步步的与服务器进行交互操作, 最终实现发送邮件功能, 其发送功能包 括:简单邮件的发送、带附件的邮件的发送、发送次数的设置。文中深入讲解了 的原理及电子邮件发送程序的设计与实现方法。关键词 电子邮件;编程;邮件发送1 前沿1.1 课题背景随着的迅猛发展,电了邮件(E)已成为凼特网上非常流行、非常方便的通 信方式。电子邮件 (简称 1)又称电子信箱、电子邮政,它是 种用电子手段提供 信息交换的通

3、信方式。 它是全球多种网络上使用最普遍的一项服务。 这种非交互 式的通信 ,加速了信息的交流及数据传送 ,它是个简易、快速的方法。通过连接全世界的 ,实现各类信号的传送、接收、存贮等处理 ,将邮件送到 世界的各个角落。到目前为止 ,可以说电子邮件是资源使用最多的一种服务, 1 不只局限于信件的传递 ,还可用来传递文件、声音及图形、图像等不同类型的信 息。电子邮件发送程序的发送方式有两种: 第一种是本地计算机与用户所指定的 发送邮件服务器连接,然后通过发送邮件服务器将邮件传送到接收邮件的服务 器,邮件中包含有信件主题和内容等一系列信息; 第二种是本地计算机直接与接 收电子邮件的服务器相连接, 并

4、将邮件送入收信者的邮箱中, 电子邮件接收程序 则只需要处理本地计算机与存在电子邮件的服务器相连接, 并通过帐号和口令从 服务器中获取电子邮件,邮件中包含有信件主题、内容和发送时间等。电子邮件不是一种“终端到终端”的服务 ,是被称为“存贮转发式”服务。 这正是电子信箱系统的核心, 利用存贮转发可进行非实时通信, 属异步通信方式。 即信件发送者可随时随地发送邮件, 不要求接收者同时在场, 即使对方现在不在, 仍可将邮件立刻送到对方的信箱内 ,且存储在对方的电子邮箱中。接收者可在他 认为方便的时候读取信件 ,不受时空限制。在这里 ,“发送”邮件意味着将邮件放 到收件人的信箱中 ,而“接收”邮件则意味

5、着从自己的信箱中读取信件 ,信箱实际 上是由文件管理系统支持的 个实体。1.2 课程设计目的本课程设计的目的主要是学习在平台下围绕着电子邮件发送的编程与开 发,应用软件工程的开发过程,详细论述了的分析、设计及代码实现,最终实 现一个具有能发送简单邮件,发送带附件的邮件的邮件发送器。1.3 课程设计基本任务(1)了解编程环境。(2)了解协议的通信原理。(3)功能模块的实现。包括发送简单邮件的实现、发送带附件的邮件的实 现、设置发送次数的实现及各种错误提示的实现。4)系统的实现与测试。包括编译后的程序和运行测试功能需求的实现2 设计平台简介编程环境简介:20 世纪 80 年代以来,语言一直是使用最

6、广泛的商业化开发语言。但在带来 强大控制能力和高度灵敏性的同时, 其代价是相对较长的学习周期和较低下的开 发效率,同时对控制能力的滥用也给程序的安全性带来了潜在的威胁。 语言过度 的功能扩张也破坏了面向对象的设计理念。 因此,软件行业迫切需要一种全新的 现代程序设计语言, 他能够在控制能力与生产效率之间达到良好的平衡, 特别是 将高端应用开发与底层平台访问紧密结合在一起,并与标准保持同步,( 读作)语言就是这一使命的承担着。语言是从语言发展而来的,他汲取了包括、在内的多种语言精华,是一种 简单易学、 类型安全和完全面向对象的高级程序设计语言。 它的设计目标就是在 继承强大功能的用时,兼有(快速

7、应用程序开发)语言的高效性。作为的核心编 程语言,充分享受了所提供的优势, 能够与其他应用程序方便的集成和交互。 下 面是对它几个突出特点的描述:语法简洁:取消了指针、也不定义繁琐的伪关键字;它使用有限地指令、修 饰符合操作符,语法上几乎不存在任何冗余,整个语言结构十分清晰。与紧密结合:借助服务框架, 使得网络开发和本地开发几乎一样简单。 开发 人员无需了解网络的细节, 可以用统一的方式来处理本地的和远程的对象, 而组 件能够方便的转为服务,并被其他平台上的各种编程语言调用。目标软件的安全性: 符合通用类型系统的类型安全性要求, 并用所提供的代 码访问安全特性, 从而能够在程序中方便的配置安全

8、等级和用户权限。 此外,垃 圾收集机制自动管理对象的生命周期, 这是的开发人员无需再负担内存管理的任 务,应用程序的可靠性进一步得到提高。灵活性与兼容性:中允许使用非托管代码来与其他程序(包括组件、 32 等) 进行集成和交互。它还可以通过委托()来模拟织针的功能,通过接口来模拟多 继承的实现。3设计原理3.1软件总体架构软件通过1、1类来实现电子邮件发送的各种功能,如发送简单邮件、发送带附近的邮件、设置发送次数、发送邮箱的类型用户通过主界面来选择这 些功能,软件为用户提供相应的服务。总体架构如图3.1:3.2程序功能框架图电子以邮件发送软件向用户提供了各种功能,其中主功能为:简单邮件的发送和

9、带有附件的邮件的发送,附加功能有:设置邮件自动发送的次数。另外,此 程序中还有各种错误的提示,如发件人、收件人、主题格式不合法的提示,附件 路径是否正确的提示,网络不正常的提示等等。如图3.3所示:客 户 端 软 件附加功能附加功能邮件的自动发送次数图3.2程序功能框架各种错误的提示3.3 协议研究与分析简单邮件传输协议()的目标是可靠高效地传送邮件,它独立于传送子系统 而且仅要求一条可以保证传送数据单元顺序的通道。的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通 信环境(),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传 送系统(或)不是一对一的是很重要的。进程

10、可能直接和其它进程通过已知的通 信。邮件是一个应用程序或进程间通信。 邮件可以通过连接在不同上的进程跨网 络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。基于以下通信模型:针对用户的邮件请求,发送建立与接收之间建立一个双 向传送通道。接收可以是最终接收者也可以是中间传送者。命令由发送发出,由接收接收,而应答则反方面传送。一旦传送通道建立,发送者发送命令指明邮件发送者。如果接收者可以接收邮件则返回应答。发送者再发出命令确认邮件是否接收到。 如果接收者接收,则 返回应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收

11、到特别的序列,如果接收 者成功处理了邮件,贝U返回应答。提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机; 或者,当两者不在同一个传送服务 下时,通过中继服务器传送。为了能够对服务器提供中继能力, 它必须拥有最终 目的主机地址和邮箱名称。图3.3通信模型3.4环境说明操作系统;20054详细设计4.1窗体界面控件设计本次窗口设计中,主要用到工具箱资源,工具箱中包含了可重用的控件。窗 口是实现应用程序人机交互的重要组成部分, 它不但可以实现数据流的输入和输 出,而且也可以移动和关闭对话框。 使用可视化的方法编程时,可在窗体中拖放 控件,绘制

12、出应用程序界面。尤其在设计对话框时,使用工具箱中的可视化控件 无疑使开发变得十分方便。要在应用程序中操作对话框资源,首先需要创建它。本实验在2005中对程序界面设计的对话框如图 4.1所示图4.1电子邮件发送程序界面其中,6个文本框的属性从上到下依次为:2个按钮的属性为,4.2程序实现本课程设计中主要是用到了命名空间,此空间的包含的类为1、1,其中1 类用于检测发件人、收件人和主题是否合法。这 5个类中最核心的类为1。下面 将对1类分四部分进行说明:1) 构造电子邮件此部分主要有以下属性和方法发件人的地址以分号分隔的收件人的地址列表电子邮件的主题电子邮件的正文电子邮件的正文内容类型电子邮件附件

13、集合在本次课程设计中,文本框用于填写发件人的地址、文本框用于填写收件人 的地址、文本框用于填写信件主题、文本框用于手动添加附件、文本框用于填写 邮箱密码、文本框用于写入信件正文,双击各文本框时,文本框的内容自动清除 后即可完成文本框内容的输入,程序中初始化一些信息。具体代码如下所示:双击发件人监听方法(,e)设置发送文本为空一 J双击收件人文本框的监听方法(,e)设置接收人文本为空一 J双击主题文本框的监听方法( , e)设置主题文本框为空一 J 双击附件文本框( , e)情况附件内容 密码框双击监听方法( , e) 清空密码框一 J 邮件体双击监听方法( , e) 清空邮件体文本框一 J初始

14、化一些信息1( , e) 发送次数= "1"发件人地址= "134700163" 收件人地址= "134700163" 邮件标题= "我的邮件 "邮件主体内容= "发送成功 "邮箱密码= "271853927" 发送次数文本框默认为不可修改自动发送复选按钮默认为未选中状态2) 构造电子邮件附件用来构造电子邮件附件 . 用此类构造了电子邮件附件然后添加到对象的集合 即可。在本次课程设计中,通过单击添加附件和删除附件按钮实现附件的添加和删 除,添加附件成功后添加到对象中,具体实现

15、代码如下:添加附件按钮 触发函数1( , e)1();= 1;删除附件按钮 触发函数2( , e)一一 J判断是否有附件添加 有的话就添加到对象中(":")添加附件到对象();3) 发送电子邮件及其附件,这是这个类中的核心函数在本次课程设计中, 通过单击单击发送按钮和 复选按钮来实现邮件的发送和 发送次数的设置, 通过退出按钮进行退出。 邮件发送时, 发送按钮的文本将自动 改为“正在发送”,此时,程序将对发件人和收件人地址进行封装、设置主题和 内容的编码格式、 并创建一个对象用于传递邮件、 最后构造客户端对象后便可实 现邮件的发送。邮件发送成功后,会自动跳出“发送成功”的对

16、话文本框。 具体 代码如下所示:发送邮件按钮3( , e)取得发送次数i = 32(); 按发送次数 循环发送( x = 1; x <= i; )= " 发送 "线程睡 1 秒(1000);如果自动发送的复选按钮为选中状态 则执行这里 (1 ) 将发送信息写入主题文本框= "" + (); 发送次数加 11; 将发送按钮的文本改为“正在发送”= " 正在发送 " 将发送按钮设置为不可点击状态 封装发件人地址= (); 封装收件人地址= (); 创建一个对象 用于传递邮件= (, ); 设置主题一 J 设置邮件体信息将邮件体部分设

17、置为格式判断是否有附件添加 有的话就添加到对象中 (":")添加附件到对象();设置主题部分的编码为默认一 J设置邮件体部分的编码为默认一 J构造客户端对象= ("." + ('')1); 构造对象用于封装邮件= (); 写入用户名和密码= ('')0;将对象设置为客户端的一 J发送邮件。();到这里说明发送成功了(1 )("发送成功 ", " 提示 ");恢复发送按钮为可点击状态一 J恢复发送按钮文本为“发送”= " 发送 "(1 )提示本次发送成功了(&quo

18、t; 次发送完毕 "," 提示 ");= " 发送 "点击复选按钮的处理方法1( , e)复选框为选中状态(1 )发送次数变为可编辑状态一 J不是的话 设置发送次数框为 不可编辑状态一 J退出按钮11( , e)应用程序退出();4) 各种异常处理方法 在本程序中,各种异常包括:文本框格式异常、附近路径异常、异常和未预 料的其他类型异常。具体实现代码如下:捕获格式错误异常()(, , );J捕获异常()(1 )(" 请输入正确的附件路径 ");J捕获异常()(1 )(" 请检查网络是否正常 ", &quo

19、t; 提示 ");捕获未预料到的其他类型异常(1)(" 发生不可预料的错误 , 请仔细检查以上选项是不有错 !", " 提示 ");1 = ;J5系统的实现与测试5.1发送电子邮件程序主界面(带附件)在对话框输入信息后,单击发送按钮实现邮件的发送,可以添加附件也可以 不添加附件,单击复选框也可以设置邮件的发送次数。 下图为添加附件不设置发 送次数的邮件发送运行结果。如图 5.1所示:EH a 1SendMail5.1发送电子邮件程序主界面(加载附件)5.2接收界面(带附件)邮件发送出去之后,用浏览器跟踪接收之后,证明邮件正常接收,具体的的接收界面如图5.2所示:收件旃(5>己岌医已別嫌订頁I邮件rF拉ip曲件定ifiiR录*日程言哩BBS曲也文件买二交件中住时件R&UqeiL>wi is m 写信amneiZDoesBoeo iozqj &3 .tom;2011<efl26H 21:50 SJU5)arr»L2008SB080102163 .com;发送成功而 I frS.dCEC72.93K)W 载I打开I在希观aflwl2TO05«OTO 首页抵肤|实验室|恭欢自齢 图5.2验证邮件和附件的发送是否成功6 结束语通过这次的课程设计, 在谢晓巍老师悉心专业指导之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论