SMTP协议的客户端软件MyEMail的设计与实现
摘 要
本论文是在实现了SMTP协议的客户端软件MyEMail开发的基础上完成的,涉及到软件的设计、实现以及测试等方面。通过本设计可以掌握SMTP协议,了解到当前邮件服务的一些不足。论文着重对邮件服务所使用的SMTP协议进行了分析,并根据ESMTP协议的规定添加了身份验证的功能增加了邮件服务的安全性。
MyEMail软件是根据SMTP协议的原理、协议的模型以及工作过程,而设计出一款完整、实用的基于SMTP协议的客户端软件。该软件的实现过程中对协议的工作模式和流程进行分析。从常规的邮件发送过程出发,采用C++语言在VC++6.0的平台下,借助VC++6.0提供的应用程序框架MFC加以实现。该软件实现了SMTP协议,具有向邮件服务器发送身份验证消息以及邮件的功能,使用户能够在本地通过客户端程序向服务器发送邮件信息。
目前,虽然协议规定在正文中可以使用网页信息。但使用该手段发送的邮件正文可能包含有恶意代码,从而出现安全隐患,因此,在本设计中并没有提供相关支持。 [来源:http://Doc163.com]
关键词:SMTP协议;邮件;C++;客户端
The design and implementation of a SMTP Client
Abstract
This thesis is completed in the foundation of the SMTP protocol client software MyEMail. It relates to the software design, implementation, testing and so on. Through the design, the SMTP protocol can be mastered and the deficiencies of current mail service can be understood. The thesis focuses on analyzing the SMTP protocol used by the mail service and adds the authentication function which will increase the mail service security according to the provisions of the protocol ESMTP.
MyEMail SMTP software is based on the principles of the protocol, the model and working processes of agreement. And it is a practical and SMTP protocol based client software. The software analyzes the working model and processes of protocol. It starts with the conventional mail process and uses the C++ language and MFC framework in VC++ 6.0 platform. The SMTP protocol is implemented in this software. It can send authentication information and e-mail to the mail server. The users can send authentication information and E-mail to the server through local software. [资料来源:www.doc163.com]
At present, although the protocol stipulates that the website information can be used in the text, it means that the mail content can contain malicious code, which has potential safe problems. So, the support is not provided in the design. [资料来源:http://www.doc163.com]
Key words:SMTP Protocol; E-Mail; C++; Client
协议简介
SMTP,简单邮件传输协议是Simple Mail Transfer Protocol的缩写。它是互联网上的一种通讯协议,工作于应用层,使用端口为25。主要功能就是传送电子邮件,当我们使用邮件程序,邮寄E-Mail给对方时,必须通过SMTP协议,将邮件发送到对方的邮件服务器上,等待对方查收。SMTP协议的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。
SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮件可以通 过连接在不同IPCE(Interprocess Communication Environment)上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。
系统环境
本系统采用的工具软件有:
IDE:Visual C++ 6.0企业版
[资料来源:www.doc163.com]
功能分析
由本设计的题目可知,本设计的目的就是建立一款能够发送邮件的客户端软件。对本软件而言,应该具备如下功能:
1)可以保存用户输入数据。
2)可以根据用户输入的数据连接服务器,并进行身份验证。
3)可以对有关数据进行加密。
4)可以发送邮件信息(含附件)。
5)图形界面要信息完整、操作舒适、界面雅观。
根据以上分析,需要进行编码的操作有:
1) 从图形界面获取输入的数据的操作。
2) 根据MFC提供的API连接服务器,建立一条连接发送者和接收者的通道。
3) 提供BASE64的加密算法,能够对用户输入的数据进行加密。生成满足SMTP协议要求的数据。
4) 按照SMTP的要求,对邮件进行封装,生成满足协议要求的邮件。
5) 对邮件发送过程中,发送者与接收者之间的命令与应答码之间的关系进行分析。
6) 图形界面编程。
目 录
1引言 1
2 SMTP协议概述 1
2.1 协议简介 1
2.2 协议原理 1
2.2.1 工作模型 2
2.2.2 工作过程 3
2.3 相关协议的简单介绍 6
[版权所有:http://DOC163.com]
3软件开发背景与环境 7
3.1 软件开发背景 7
3.2 软件开发环境 7
3.2.1系统环境 7
3.2.2 工具简介 8
4 SMTP协议客户端软件设计与实现 8
4.1 需求分析与总体设计 8
4.1.1 功能分析 8
4.1.2 总体设计 9
4.2 各模块设计 10
4.2.1 实现SMTP协议的核心类库 10
4.2.2 实现软件的界面类 16
4.2.3 模块之间的关系 17
4.3 核心模块实现与核心功能编码 17
4.3.1 邮件发送实现 17
4.3.2 邮件内容相关实现 20
4.3.3 邮件的编码方式 22
5 软件测试 24
结 论 26
参考文献 26
致 谢 27
声 明 28