一个SMTP客户端程序的设计与实现
摘 要
本论文是在实现了SMTP协议的客户端软件MyEMail开发的基础上完成的,涉及到软件的设计、实现以及测试等方面。通过本设计可以掌握SMTP协议,了解到当前邮件服务的一些不足。论文着重对邮件服务所使用的SMTP协议进行了分析,并根据ESMTP协议的规定添加了身份验证的功能增加了邮件服务的安全性。http://www.16sheji8.cn/
MyEMail软件是根据SMTP协议的原理、协议的模型以及工作过程,而设计出一款完整、实用的基于SMTP协议的客户端软件。该软件的实现过程中对协议的工作模式和流程进行分析。从常规的邮件发送过程出发,采用C++语言在VC++6.0的平台下,借助VC++6.0提供的应用程序框架MFC加以实现。该软件实现了SMTP协议,具有向邮件服务器发送身份验证消息以及邮件的功能,使用户能够在本地通过客户端程序向服务器发送邮件信息。
目前,虽然协议规定在正文中可以使用网页信息。但使用该手段发送的邮件正文可能包含有恶意代码,从而出现安全隐患,因此,在本设计中并没有提供相关支持。
关键词: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.
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.
Key words:SMTP Protocol; E-Mail; C++; Client
目 录
论文总页数:28页
1引言 1http://www.16sheji8.cn/
2 SMTP协议概述 1
2.1 协议简介 1
2.2 协议原理 1
2.2.1 工作模型 2
2.2.2 工作过程 3
2.3 相关协议的简单介绍 6
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 邮件内容相关实现 20http://www.16sheji8.cn/
4.3.3 邮件的编码方式 22
5 软件测试 24
结 论 26
参考文献 26
致 谢 27
声 明 28
1引言
随着信息技术的发展、互联网的普及,电子邮件已经逐渐称为人们正常工作和生活中进行沟通的重要手段。采用电子邮件服务可以方便快捷的与朋友、同事或合作伙伴进行沟通,传递信息。电子邮件技术具有方便、快捷、成本低廉等特性。能够大大减少信息传递的时间,比传统的信件传递方式更快捷,成本也更低。在实现过程中加入了认证机制,因而,更安全、可靠。
目前与邮件相关的协议大概可以分为两种:一种是邮件发送协议――SMTP协议;另一种是邮件接收协议――POP协议。本软件实现的是用于发送邮件的SMTP协议。目前,SMTP协议已经有了大量的实现,应用广泛。本软件是为了研究SMTP协议而作的一个实验型项目。目的在于掌握SMTP的工作原理,并实现一个能够发送邮件的完整邮件客户端。http://www.16sheji8.cn/
本毕业设计以SMTP协议为理论基础,以面向对象的方式在VC++6.0平台下进行实现。用计算机语言对SMTP协议的工作原理进行了描述。实现了与邮件发送有关的基础类,根据面向对象的特性,迅速的搭建了邮件的客户端。在实现过程中,用到了VC++中的MFC框架,使得软件能够符合有关的WINDOWS程序标准,并且有了清晰的结构规划,给维护带来了方便。
2 SMTP协议概述
2.1 协议简介
SMTP,简单邮件传输协议是Simple Mail Transfer Protocol的缩写。它是互联网上的一种通讯协议,工作于应用层,使用端口为25。主要功能就是传送电子邮件,当我们使用邮件程序,邮寄E-Mail给对方时,必须通过SMTP协议,将邮件发送到对方的邮件服务器上,等待对方查收。SMTP协议的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。http://www.16sheji8.cn/
SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮件可以通 过连接在不同IPCE(Interprocess Communication Environment)上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。