首页 >  vb/vc毕业设计  > 正文

带有检索功能的邮件收发系统

当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,在了解RFC底层协议的基础上,我们开发了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能。本系统是基于以上需求分析之后,力求实现邮件的时间检索功能。根据分析我们具体要实现几个方面的功能:根据smtp简单传输协议从而实现邮件的传输,根据treectrl控件以及c++检索遍历算法,我们可以实现将邮件按时间逐次遍历并且按要求进行列举并显示。

本系统作为一个电子邮件收发系统,具有一般电子邮件系统所必备的邮件收发功能。系统中负责收发功能的具体有“收件箱”“发件箱”以及“已发送”三个初始菜单。
在发件箱中,我们的初始界面显示了邮件主题,发送者姓名,收件人姓名,发送地址以及发送时间等信息。用户需求要写入新邮件时,在操作区右键点击,弹出写入新邮件选项并点击,就可以弹出一个新邮件框架,需要填入发送者姓名,收件人姓名,发送地址以及邮件内容等信息。以上信息填入后就可以点击“发送”键将邮件发出。
收件箱负责接收邮件功能,收件箱主要由“接收”以及“转发”两个功能键负责。点击主树形控件中收件箱键,出现对话框出现已经收到的邮件并显示其邮件主题,发件人,以及发件日期。点击框中已接收邮件主题,会在下框中显示邮件正文内容。
“已发送”功能是将自己发送出去的邮件进行一个保存。点击左侧框中的邮件主题,在右侧发狂中显示该邮件内容,包括邮件主题,接收者姓名,发送者姓名,发送的地址以及发送时间。
2.2检索功能介绍
在海量的邮件中,我们有时无法准确的找到一个时期的邮件,在本系统中我们重点突出了时间检索这个功能。在我们平常接触到的邮件收发系统中,用户在的查找已有邮件时经常被大量的淹没,从而无法及时快速准确的找到用户所需要的邮件。考虑到此因素,我所设计的邮件收发系统具有按时间检索的功能。在初始的收件箱和发件箱中,运用ctreectrl控件在主树形控件“收件箱”“发件箱”“已发送”项增添动态树形控件,按时间顺序来对邮件进行分类功能。此功能可按时间顺序将邮件分为“近一周”“近一月”在一年之前的邮件可按年份自动生成此年份的控件按钮,为邮件系统用户提供了不少的便利。
2.3账号管理以及通讯录
作为一个邮件收发系统,用户账号管理是必须的。本系统将收件箱与发件箱账号管理。在发件箱设置中,我们可以添加新的发件箱账号,只要依次填入SMTP服务器地址,端口号,账号,密码,邮箱,并且点击右侧设定添加键就可以设置新发件箱账号,并且每次输入以后,系统会自动记忆此账号并显示到下框中,以便下次直接双击使用。
收件箱的设置与发件箱相同,由于发件与收件用到的pop服务器,以及需要填写的端口号,账号,密码,邮箱。
另外,本系统还有一个通讯录功能,添加收件箱的名字以及地址并添加就可以保存已添加的邮箱地址,为用户提供了方便的通讯便利。
3.系统的实现
由于C++是一种面向对象的程序语言,面向对象方法中的抽象,是指对具体问题进行概括,抽出一类对象的公共性质加以描述的过程,C++支持这种抽象,将抽象后的数据和函数封装在一起,便构成了C++中的类。类是面向对象程序设计中最重要的、最基本的概念,因此,在重点介绍几个功能的实现的时候,我们重点将其分为相应的类来逐个分析。
上文介绍主要的几个功能之后,我们需要对各个功能的实现进行分析。在C++之中各个功能实现是靠功能类来负责,其联系与协作是靠类与类之间的工作联系到一起的。在这里重点介绍本系统实现其功能的几个主要的类的编写:邮件收发类smtp和pop类,账号控制类,控制主菜单树形控件的cmydlg。时间检索功能的实现,需要对邮件收发时间进行提取并运用相应算法得到排列结果,对时间的提取需要考察邮件源文件,这样就需要对其原格式进行分析,于是我们需要用到RFC822。RFC822的全称是“ARPA因特网文本信件格式的标准”(Standard for the Format of ARPA Internet Text  Messages),该标准提供了邮件内容的格式和相关语义。


以上是本题目部分介绍,若需要完整版或不符合您的要求,请联系客服微信:ztopmind  > 或者加QQ 840612233

上一篇:人脸识别系统研究与实现

下一篇:vc++.net小型交互式CAD画图系统

相关文章: