VC++收发电子邮件的开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VC++程序设计报告电子邮件发送和接收程序的开发班级:B电子051姓名:周庆学号:0510620118指导老师:惠为君日期:2007年7月VC++课程设计第1页目录第一章需求分析.............................................21.1开发背景..........................................................21.2功能要求..........................................................2第二章系统总体分析.........................................22.1电子邮件介绍......................................................22.2总体设计方案及思路................................................32.2.1电子邮件的发送程序............................................32.2.2电子邮件的接收程序............................................42.3模块分析..........................................................42.3.1电子邮件发送程序的主要模块....................................52.3.2电子邮件接收程序的主要模块....................................5第三章程序的测试(运行截图)................................53.1添加“关于”标签的测试............................................53.2发送邮件的测试....................................................63.3收取邮件的测试....................................................8第四章设计总结..............................................84.1课程小结..........................................................84.2个人小结..........................................................9附录(源代码)..............................................91“关于”标签的程序代码..............................................92电子邮件发送程序的代码.............................................103附件的代码.........................................................133电子邮件接受程序的代码.............................................14VC++课程设计第2页第一章、需求分析1.1、开发背景随着互联网的不断发展,越来越多的企业单位通过电子邮件来协同工作,打破时间与地域的限制,大大提高了工作效率。电子邮件已地经成为人们生活中不可缺少的一部分。但是,当前流行的各大邮件客户端软件除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不实用。所以这次的VC++课程设计,我选择了制作一个操作简单,又可以实现最基本的电子邮件的收发功能的工具。1.2、功能要求①基本发送和接受邮件的功能。②实现通信功能。③具有简单、实用、易操作的图形界面。④在以上基础上尽量实现发送附件的功能。⑤程序还应可以判断整个过程是否能正常运行,如果不正常运行,必须给出错误信息。第二章、系统总体分析2.1、电子邮件介绍电子邮件又称E-mai1,是—种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。电子邮件的处理由两大部分组成:电子邮件发送程序和电子邮件接收程序。电子邮件发送程序的发送方式有两种:第一种是本地计算机与用户所指定的发送邮件服务器连接,然后通过发送邮件服务器将邮件传递到接收邮件服务器,邮件中包含有信件的主题和内容等一系列信息;第二种是本地计算机直接与接收电子邮件的服务器相连,并将邮件送入收件者的邮箱中。电子邮件接收程序则只需要处理本地计算机与存放电子邮件的服务器相连接,并通过帐号和口令从服务器中获取电子邮件,邮件中包含有信件的主题、内容和发送时间等。VC++课程设计第3页2.2、总体设计方案及思路(1)电子邮件的发送程序发送邮件的程序必须能够做3件事情:①与接收电子邮件的服务器相连接;②将相关的信息送入收件人的信箱;③程序还应可以判断整个过程是否能正常运行,如果不正常运行,必须给出错误信息。一般情况下,在VC++中,电子邮件程序的编写是利用Windows自带的MAPI以及相关的通信协议SMPT/POP3等来实现的。但是要利用MAPI和通信协议实现一个功能强大的电子邮件管理程序,需要很强的相关专业知识。随着现代软件业的发展,软件厂商提供了方便、简易,与服务器无关且稳定的电子邮件处理组件,使我们可以在程序开发语言中调用这些组件,利用很简单的语言实现功能强大的程序。JMail组件就是一个很好用的电子邮件程序开发第三方组件。所以这次的课程设计我选择了JMail组件。JMail组件中包含许多实现电子邮件处理的属性和方法。只需要在VC++代码中创建一个JMail组件的对象,调用其中的某些功能,就能很快完成程序的开发。JMail常用的发送邮件的基本属性和方法如表1所示。表1JMail常用发送邮件的基本属性和方法方法和属性功能Body邮件内容Charset字符集,默认为“US-ASCII”Sendname发送人姓名Sender发送人邮箱地址ServeraddressSMPT服务器地址,可制定多个,用分号分开,并可指定端口;为空白时,JMail会尝试解决远程邮件服务器,然后直接发送。Subject标题Priority优先级(1:高优先级;3:普通优先级;5:低优先级)AddAttachment(“filename”,[ContentType])添加文件附件AddCustomAttachment(“filename”,data)添加自定义附件AddURLAttachment(“bstrURL”,“bstrAttachAS”,[bstrAuth])下载并添加一个来自bstrURL的附件,BstrAttachAS指定受到信件的文件名。AddRecipient(“Email-Address”)增加一个收件人AddRecipientEX(“Email-Address”,“name”)增加一个带名字的收件人AppendBodyFromFile(“filename”)将一个文件追加到正文后AppendText(“Text”)追加信的正文内容Execute()方法执行发送Close()方法强制JMail关闭缓冲与邮件服务器的连接由于JMail是第三方组件,因此VC++程序要想调用JMail对象,就必须先下载JMail动态链接库,并在本机中进行注册。具体操作方法如下:打开运行对话框,输入cmd,打开VC++课程设计第4页命令提示符编辑器,输入如下指令即可注册成功:(JMail组件的安装路径)regsvr32jmail.dll(2)电子邮件的接收程序接收邮件的程序必须能够做三件事:①与存放电子邮件的服务器相连接;②读取相关的信件信息,并存放与本地计算机中;③程序还将判断整个过程是否能正常运行,如果不正常运行,必须给出错误信息。与电子邮件发送程序的编写相同,我还是采取VC++语言和JMail组件相结合的方法来实现邮件的收取。JMail常用的接收邮件的基本属性和方法如表2所示。表2JMail常用接收信件的基本属性和方法方法和属性功能Body邮件内容Charset字符集,默认为(US-ASCII)Date信件发送日期MailServer邮箱所在的服务器Subject标题Timeout连接服务器的超时限制Connect()连接服务器,需要参数:帐号、口令、服务器地址、端口2.3、模块分析电子子邮件接受方式程序主要由以下两个大的模块构成:发送邮件模块和收取邮件模块。其功能模块如图1所示:图1电子邮件功能模块图电子邮件客户应用系统发送邮件接收邮件VC++课程设计第5页(1)电子邮件发送程序的主要模块电子邮件发送程序主要由以下几个模块组成:①邮件服务器:用于填写收件人的邮箱服务器(可以不填);②收件人信箱:用于填写收件人的邮箱名;③发件人信箱:用于填写发件人的邮箱名;④主题:用于填写信件主题;⑤正文:用于写入信件正文;⑥退出:用于退出发件程序;⑦发送:用于发送邮件;⑧关于:用于显示软件开发的相关信息。⑨附件:可以手动添加附件并完成发送(该功能正在进一步完善中)。(⑧⑨为本小组另行添加的功能)(2)电子邮件接收程序的主要模块电子邮件接收程序主要由以下几个模块组成:①邮件服务器:用于填写需要收取信件信箱的服务器;②帐号:用于填写需要收取信件的邮箱帐号;③口令:用于填写需要收取信件的邮箱密码;④邮件列表:显示邮箱中所有邮件的列表;⑤正文:当选中邮件列表中任一邮件时,显示该封信件的具体内容;⑥退出:用于退出接收邮件程序;⑦收取:用于收取信件。第三章、程序测试(运行截图)3.1、添加“关于”标签的测试在原设计的基础上我添加了一个“关于”的标签,点击该按钮会弹出一个小的对话框,其中的内容包括本小组的成员、程序开发时间以及一些关于邮件方面的相关帮助信息。程序的运行结果如图1所示。VC++课程设计第6页图2“关于”程序主界面3.2、发送邮件的测试图3邮件发送主界面(不带附件)VC++课程设计第7页图4发送邮件程序主界面(加载附件)图5发送邮件程序主界面(带附件)VC++课程设计第8页3.3、收取邮件的测试图6收取电子邮件程序主界面第四章、设计总结4.1、课程小结在邮件发送程序中,用户可以利用SMPT服务器向朋友发送电子邮件,也可以直接尝试链接朋友的E-mail信箱所在的服务器。这次课程设计我所利用的JMail组件封装了很强的电子邮件处理功能,如附件传递、用户的跟踪服务、发布产品信息,以及电子报刊处理等功能。在邮件接受程序中,用户可以向POP3服务器收取电子邮件。用户打开邮箱后,将利用JMail组件创建的对象指针遍历邮箱中的所有邮件,并将邮件信息下载存放于本地计算机中,利用List控件的扩展属性显示邮件的正文内容。目前我所做的这个程序还不够完整,还存在着很多的不足和不完善的地方。归纳起来体现在以下几个方面:VC++课程设计第9页①软件的功能趋于简单,真正的邮件收发工具软件包括很多方面的信息,而不仅仅局限于发送邮件和收取邮件。真正的邮件服务软件还包括邮件导入、邮件导出、文本编辑(查找与撤消)、通讯簿、通讯规则等等功能。②软件的图形操作功能缺乏,目前系统中对邮件附件的添加、删除功能都没有图形快捷操作,只能通过改变源程序中的代码达到添加附件的目的。而且由于时间和知识的欠缺,

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功