邮件客户端系统的设计与实现毕业设计文档格式.docx

上传人:b****4 文档编号:7323054 上传时间:2023-05-08 格式:DOCX 页数:39 大小:771.36KB
下载 相关 举报
邮件客户端系统的设计与实现毕业设计文档格式.docx_第1页
第1页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第2页
第2页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第3页
第3页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第4页
第4页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第5页
第5页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第6页
第6页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第7页
第7页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第8页
第8页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第9页
第9页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第10页
第10页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第11页
第11页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第12页
第12页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第13页
第13页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第14页
第14页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第15页
第15页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第16页
第16页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第17页
第17页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第18页
第18页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第19页
第19页 / 共39页
邮件客户端系统的设计与实现毕业设计文档格式.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

邮件客户端系统的设计与实现毕业设计文档格式.docx

《邮件客户端系统的设计与实现毕业设计文档格式.docx》由会员分享,可在线阅读,更多相关《邮件客户端系统的设计与实现毕业设计文档格式.docx(39页珍藏版)》请在冰点文库上搜索。

邮件客户端系统的设计与实现毕业设计文档格式.docx

最重要的是,电子邮件是整个网间网,以至所有其他网络系统中直截了当面向人与人之间信息交流的系统,它的数据发送方和接收方差不多上人,因此极大地满足了大量存在的人与人通信的需求[2]。

在高度信息化的今天,灵活和便利地使用电子邮件,对提高工作效率、贯彻国家信息化进展战略意义重大。

1.2研究现况

通过在网上的查找,发觉有关于电子邮件的治理系统有:

“WindowsLiveMailDesktop”,它将桌面软件的功能性与基于Web的电子邮件的灵活性结合在一起,轻松接收新闻组和RSS源,在脱机状态下撰写、删除及治理电子邮件;

即时添加关于任何信息的WindowsLiveSpaces网络日志项与WindowsLiveMessenger联系人保持紧密联系,也能够创建并编辑照片电子邮件[3];

“KooMail”它支持分割发送大邮件同时接收后自动合并,对分割发送的邮件支持断点续传,其中邮件模板支持附件主题等,具有发送邮件加密功能使邮件更安全,实现邮件的过滤和规则功能;

发送邮件无须SMTP服务器,具有多种邮件编码支持各国语言字符集邮件完全与乱码辞别;

能够选择先接收较大或较小的邮件从而优化收邮件列表;

能定时发送邮件[4]。

“梦幻快车(DreamMail)”它支持SMTP、eSMTP、POP3、Hotmail、Yahoo等邮件协议,真正采纳多线程高速收发邮件。

附带增强型远程治理,能够直截了当查看服务器上邮件的内容、直截了当删除邮件;

具有邮件过滤器、黑名单及白名单等组合使用能有效应付垃圾邮件;

能自动检测破坏性邮件增强系统安全。

另外,梦幻快车通过特有的破乱码技术轻松应付各种乱码邮件。

此外,它还集成了许多特色功能,比如:

添加账号时自动检索POP3/SMTP服务器、能够自定义动态滚动新闻、支持显示发件人地址及插入邮件表情等等[5]。

“Foxmail”它是由原华中理工大学张小龙开发的一款优秀的国产电子邮件客户端软件,2005年3月16日被“腾讯”收购。

新的Foxmail具备强大的反垃圾邮件功能。

它使用多种技术对邮件进行判别,能够准确识别垃圾邮件与非垃圾邮件。

垃圾邮件会被自动分捡到垃圾邮件箱中,有效地降低垃圾邮件对用户干扰,最大限度地减少用户因为处理垃圾邮件而白费的时刻。

数字签名和加密功能在Foxmail5.0中得到支持,能够确保电子邮件的真实性和保密性。

通过安全套接层(SSL)协议收发邮件使得在邮件接收和发送过程中,传输的数据都通过严格的加密,有效防止黑客窃听,保证数据安全。

其他改进包括:

阅读和发送国际邮件(支持Unicode)、地址簿同步、通过安全套接层(SSL)协议收发邮件、收取yahoo邮箱邮件;

提高收发Hotmail、MSN电子邮件速度支持名片(vCard)、以嵌入方式显示附件图片、增强本地邮箱邮件搜索功能等等[6]。

1.3系统概述

一样的客户端电子邮件软件应该有以下的功能:

1)编辑邮件(用户进行邮件编辑)

2)读邮件(用户在收件箱、发件箱、草稿箱和垃圾箱中查阅邮件信息)

3)发送邮件(发送已编辑的邮件或回复接收邮件)

4)接收邮件(接收发送方的邮件)

5)添加联系人(向通信录添加联系人信息)

6)编辑联系人(编辑通信录中联系人的信息)

7)删除联系人(删除通信录中联系人信息)

1.4本文工作

本文在深入了解电子邮件治理的实际操作流程的基础上,总结生活中常用的电子邮件功能,采纳面向对象的编程思想设计并开发一套简单、方便的客户端电子邮件软件,实现对电子邮件灵活的治理。

2开发环境的搭建

2.1运行平台

2.1.1硬件平台

CPU:

P41.8GHZ。

内存:

256MB以上。

2.1.2软件平台

操作系统:

Windows2003。

C++程序开发工具:

VISUALC++6.0

辨论率:

举荐使用1024×

768像素。

2.2运行环境的配置

2.2.1POP3和STMP简介

(1)POP3概述

POP3是PostOfficeProtocol3的简称,即邮局协议第3版。

它规定了如何样将个人运算机连接到Internet的邮件服务器和如何下载电子邮件。

它是Internet电子邮件的第一个离线协议标准。

简单地说,POP3确实是一个简单而使用的邮件信息传输协议。

(2)SMTP概述

SMTP是SimpleMailTransferProtocol的简称,即简单邮件传输协议。

SMTP是一种提供可靠且有效电子邮件传输的协议。

它是一组用于由源地址到目的地址发送邮件的规则,用来操纵信件的中转方式。

它关心每台运算机在发送或中转信件时找到下一个目的地,通过SMTP协议所指定的服务器,将邮件发送到收件人的服务器上。

2.2.2安装POP3/SMTP服务

在Windows2003下架设邮件服务器能够用系统自带的POP3及SMTP服务建立。

同其他服务一样,默认情形下这两个服务是没有安装的,需要手工进行添加。

安装的步骤如下:

第一步:

安装POP3服务组件。

以系统治理员身份登录Windows2003系统,选择【操纵面板】|【添加或删除程序】|【添加/删除Windows组件】命令,在弹出的【Windows组件向导】对话框中选中【电子邮件服务】选项。

单击【详细信息】按钮,能够看到该选项包括两部分内容,分别是“POP3服务”和“POP3服务Web治理”。

为方便用户以远程Web方式治理邮件服务器,建议选中【POP3服务Web治理】命令,如图2.1所示。

图2.1选中【POP3服务Web治理】

第二步:

安装SMTP服务组件。

选中【应用程序服务器】选项,单击【详细信息】按钮。

在【Internet信息服务(IIS)】选项中查看详细信息,选中SMTPService选项,单击【确定】按钮。

此外,假如需要对邮件服务器进行远程Web治理,一定要选中【万维网服务】选项中的【远程治理(HTML)】命令组件。

完成以上设置后,单击【下一步】按钮,系统就开始安装配置POP3和SMTP服务了。

2.2.3配置POP3/SMTP服务

配置POP3/SMTP服务器步骤如下:

创建邮件域。

选择【开始】|【治理工具】|【POP3服务】命令,弹出【POP3服务操纵台】对话框。

选中左栏中的POP3服务后,单击右栏中的【新域】选项,弹出【添加域】对话框。

在【域名】文本框中输入邮件服务器的域名,也确实是邮件地址“@”后面的部分,例如yang,然后单击【确定】按钮,如图2.2所示。

图2.2 

创建新域

创建系统登陆帐户。

选中新建的yang域,在右栏中选择【添加邮箱】命令,弹出【添加邮箱】对话框,在【邮箱名】文本栏中输入邮件用户名,然后设置用户密码,最后单击【确定】按钮,完成系统登陆帐户的创建,如图2.3所示。

图2.3 

创建邮箱

第三步:

配置SMTP服务器。

选择【开始】|【程序】|【治理工具】|【Internet信息服务治理器】选项。

在【IIS治理器】对话框中右击【默认SMTP虚拟服务器】选项,在弹出的菜单中选择【属性】选项,进入【默认SMTP虚拟服务器属性】对话框,切换到【常规】选项卡,在【IP地址】下拉列表框中选择邮件服务器的IP地址即可。

单击【确定】按钮,如此一个简单的邮件服务器就架设完成了,如图2.4所示。

完成以上设置后,就能够使用邮件客户端软件连接邮件服务器进行邮件收发工作。

只要在POP3和SMTP处输入邮件服务器的IP地址即可。

注意:

那个时候smtpaccess里面设置的是匿名访问,现在任何用户都能够利用此mail服务器发邮件。

图2.4 

设置SMTP虚拟服务器属性

第四步:

设置在SMTP虚拟服务器中传入邮件信息的存放位置。

SMTP虚拟服务器有一个本地默认域,默认指定的传入邮件信息都放置在C:

\Inetpub\mailroot\Drop文件夹中,能够依照实际情形更换Drop文件夹的位置,如图2.5。

图2.5:

设置传入邮件信息的存放位置

2.2.4Jmail组件的注册

Jmail组件是一个功能强大的邮件发送组件,使用该组件能够方便地实现邮件的发送和接收功能,而且Jmail组件具有通用性,专门多语言都能够使用。

然而在使用之前,第一要注册该组件。

注册步骤如下:

从网络上下载的Jmail.dll文件。

把Jmail.dll文件文件复制到C:

\WINDOWS\system32\名目下。

运行注册命令。

在【运行】中输入regsvr32C:

\WINDOWS\system32\Jmail.dll语句,单击确定按钮,当显现如图2.6所示的提示对话框,则完成该组件的注册。

图2.6Jmail.dll注册成功

3系统概要设计

3.1设计目标

(1)系统架构清晰、界面友好美观、操作简便、有用性强;

(2)提供灵活、方便、快捷、准确的电子邮件治理;

3.2功能模块分析

依照系统的用例图和需求分析,能够把系统划分为以下几个功能模块:

(1)登陆模块:

通过电子邮箱帐户和密码进行身份验证,正确输入电子邮箱帐户和密码后,进入系统主界面进行操作。

(2)主界面模块:

整个软件的导航模块,能够单击该界面左侧的按钮进入相应的信箱。

在该界面右侧显示了各个界面的邮件信息,包括邮件总数和新邮件数。

(3)写邮件模块:

用户能够进行邮件编辑、发送,单击“选择收件人”按扭,能够向收件人文本框中插入地址;

通过“添加邮件”和“删除邮件”按扭来设置是否发送附件;

编辑好的邮件,单击工具栏中的“发送”按扭,能够发送邮件。

(4)读邮件模块:

用户在收件箱、发件箱、草稿箱和垃圾箱中按下工具栏中的“查看”按钮后,会打开读邮件模块,用户能够查看当前选择的邮件信息,同时依照需要进行回复或转发操作。

(5)发信箱模块:

储存用户已发送的邮件。

用户能够在发信箱中查看邮件信息,并能够进行再发送。

在工具栏设有查看按钮,删除按钮,清空按钮和排序按钮。

用户能够在工具栏选择“排序”下拉按钮的菜单项选择排序字段。

用户单击“查看”,能够查看当前选择的电子邮件。

(6)草稿箱模块:

要紧用来储存用户编辑好但没有发送的邮件。

用户能够在草稿箱中查看邮件信息,并能够进行发送。

(7)垃圾箱模块:

要紧用来储存从收件箱中删除的邮件,用户能够在垃圾箱中查看邮件信息,并能够进行发送。

在工具栏设有查看按钮,删除按钮,清空按钮,排序按钮和分类按钮。

用户能够在工具栏选择“排序”下拉按钮的菜单项选择排序字段,也能够通过“分类”按钮依照主题选择邮件。

(8)收件箱模块:

要紧用来治理用户接收到的电子邮件。

在工具栏设有查看按钮,刷新按钮,删除按钮,清空按钮,排序按钮和分类按钮。

用户单击工具栏上的“刷新”按钮,猎取新的邮件信息,并写入数据库中。

(9)通信录模块:

用于治理用户的常用联系人。

用户能够设置一些分组,然后将常用联系人添加到分组中,如此在查找联系人时就能够依照分组进行快速查找了。

系统的功能模块图如下:

图3.2系统功能模块图

4系统详细设计

4.1重点模块的详细设计

4.1.1主界面模块的详细设计

本模块的界面是1个基于对话框资源。

在该对话框中添加控件,包括6个图片控件和9个按钮控件,并向工程导入8个位图资源,修改其位图ID。

控件的属性如表1。

表1主界面控件设置表

控件ID

控件属性

关联变量

IDC_STATICRECEIVE

type:

Bitmap、

Image:

IDB_RECEIVE

IDC_STATICSEND

IDB__STATICSEND

IDC_STATICDRAFT

IDB__STATICDRAFT

IDC_STATICLITTER

IDB__STATICLITTER

IDC_STATICADDRESS

IDB__STATICADDRESS

IDC_FRAME

Frame、

Color:

Black

CbuttonHotm_Receive

IDC_BUTRECEIVE

勾选Owenrdraw

Cstacticm_Frame

IDC_BUTWRITE

CbuttonHotm_Write

IDC_RECEIVEBOX

CbuttonHotm_Receivebox

IDC_SENDBOX

CbuttonHotm_Sendbox

IDC_DRAFTBOX

CbuttonHotm_Draftbox

IDC_LITTERBOX

CbuttonHotm_Litterbox

IDC_CONTACT

CbuttonHotm_Contact

IDC_BUTMIN

勾选Bitmap

Cbuttonm_Min

IDC_BUTCLOSE

Cbuttonm_Close

本模块的要紧任务是当用户登录后,提供不同按钮进入不同的功能模块实现具体的操作,并在信息区域显示当前登陆的邮箱内邮件及新邮件的数量。

主界面通过在头文件声明各个子窗体的指针与其他的模块建立连接,这些指针包括CMailCountDlg*MailCountDlg;

//邮件统计窗体、CReceiveBoxDlg*ReceiveBoxDlg;

//收件箱、CSendBoxDlg*SendBoxDlg;

//发件箱、CDraftBoxDlg*DraftBoxDlg;

//草稿箱、CLitterBoxDlg*LitterBoxDlg;

//垃圾箱、CWriteMailDlg*WriteMailDlg;

//写邮件、CReadMailDlg*ReadMailDlg;

//读邮件、CAddressDlg*AddressDlg;

//通信录、CStatusBarm_StatusBar;

//状态栏。

主界面的下方设置有状态栏,显示当前登陆的邮箱及当前的日期和时刻,为用户在编辑邮件时提供一些简要的信息。

主界面的右上方设置了最小化按钮和关闭按钮,用户能通过主界面的这些按钮退出或将程序最小化。

创建状态栏和设置最小化按钮和关闭按钮的显示图片,均在主界面的OnInitDialog方法中完成。

其中,主界面的OnCtlColor函数,处理WM_CTLCOLOR消息,用于绘制背景;

OnButmin函数处理WM_SYSCOMMAND消息,用于处理“最小化”按钮的单击事件。

当用户点击主界面中的功能按钮进入相应的模块时,原先用于显示邮件及新邮件数量等的信息区域,会相应地改变。

用户能通过该区域的变化,直观地判定当前系统所处的模块。

在主界面对话框中,添加CreateDialogBox函数用于创建用户要打开的子窗体,添加DestroyWindowBox函数用于销毁当前打开的子窗口,此外在主界面的PreTranslateMessage虚方法中,屏蔽<

ESC>

键关闭窗体的功能,并设置无标题窗体的拖动,从而实现信息区域的变化。

本系统的按钮具有热点成效,实现步骤如下:

(1)以CButton类为基类,派生一个CbuttonHot类

(2)重载DrawItem方法,在该方法中绘制按钮控件

代码如下:

CDCdc;

//通过创建一个CDC类的对象,声明设备上下文

dc.Attach(lpDrawItemStruct->

hDC);

//获得绘制按钮设备上下文

UINTstate=lpDrawItemStruct->

itemState;

//猎取状态

CRectrect;

//声明区域对象

GetClientRect(rect);

//获得编辑框客户区域

CStringtext;

GetWindowText(text);

//获得按钮文本

if(state&

ODS_DISABLED)//假如按钮不可用

{

dc.SetBkMode(TRANSPARENT);

//设置背景透亮

dc.SetTextColor(RGB(0,0,0));

//设置文本颜色

dc.DrawText(text,&

rect,DT_CENTER);

//绘制文本

}

elseif(m_IsInRect==TRUE)//假如鼠标在按钮上

//设置背景颜色

dc.SetTextColor(RGB(255,0,0));

else//默认情形下

(3)重载PreSubclassWindow方法,在该方法中设置定时器

SetTimer(1,10,NULL);

//设置定时器

CButton:

:

PreSubclassWindow();

(4)在CbuttonHot类的OnTimer方法中,设置在定时器中判定鼠标是否移动到按钮上

CPointpoint;

//声明Cpoint变量

GetCursorPos(&

point);

//获得鼠标位置

CRectrcWnd;

//声明区域对象

GetWindowRect(&

rcWnd);

//获得按钮区域

if(rcWnd.PtInRect(point))//判定鼠标是否在按钮上

if(m_IsInRect==TRUE)//判定鼠标是否一直在按钮上

gotoEND;

//跳转到标记

else//鼠标移动到按钮上

{

m_IsInRect=TRUE;

//设置m_IsInRect变量值

Invalidate();

//重绘按钮

}

else//不在按钮区域内

if(m_IsInRect==FALSE)//判定鼠标一直在按钮外

else//鼠标移动到按钮外

m_IsInRect=FALSE;

END:

CButton:

OnTimer(nIDEvent);

//设置标记,调用基类方法

4.2.2写邮件模块的详细设计

本模块的界面是1个基于对话框资源。

在该对话框中添加控件,包括4个文本框控件、1个列表控件和3个按钮控件。

控件的属性设置如表2。

表2写邮件界面控件设置表

IDC_EDIT1

勾选Read-only

Cstingm_SendMan

IDC_EDIT2

Cstingm_ReceiveMan

IDC_EDIT3

Cstingm_Motif

IDC_EDIT4

Multiline、Verticalscoll、

AutoVscroll、Wantreturn

Cstingm_Text

IDC_LIST1

勾选Verticalscroll

ClistBoxm_Annex

IDC_BUTSELECT

CbuttonHotm_Select

IDC_BUTADD

CbuttonHotm_Add

IDC_BUTDEL

CbuttonHotm_Del

本模块的任务是让用户点击“写信”功能按钮后进入写邮件模块,用户能够在该模块内编辑邮件,并依照工具栏的按钮进行发送、存草稿、取消等操作。

在邮件编辑时,写邮件模块所提供的“

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2