摘要:电子邮件在当今社会中扮演了一个很重要的角色。越来越多的人在使用它。而且用它的人数势必会继续增加。虽然,现在已经有很多的邮件收发软件例如著名的FoxMail 但是对于大多数的非专业的人来说它还是有点难度稍嫌负责。因此,我们就利用SMTP和Pop协议从底层开发了这个软件。SMTP全称是简单邮件传输协议,它专门用来发送邮件用的。Pop全称是邮局协议,是专门用于接收邮件的。我主要是负责如何实现发送邮件功能的。MailSend命名空间是我整个程序的核心。它包括两个类。在SmtpMail的类中包含了一个SendMail的方法,它从底层详细地实现了和服务器的交互操作。你既可以用它发送一个纯文本邮件,也可以发送一个带有附件的邮件,理所当然地,你也可以使用不同的SMTP服务器。经过测试,证实此软件是一个支持多收信人,多附件的群发软件。虽然它没有FoxMail那么强大的功能,但是它容易掌握和使用。
关键词:SMTP,命名空间,类,附件
E-Mail Client SoftWare
Abstract
E-Mail play a very important role in modern times.More and more people are using it,and the number of it will larger and larger.Though there are a lot of software for sending and receiving letters such as FoxMail which are also multifunctional,it is difficult and complicated to the Most of people who are curbstone.For this reason,we do this software with the rock-bottom protocol of SMTP and Pop. The full name of SMTP is Simple Mail Transfer Protocol.It is Used to sending letters.The full name of Pop is Post Office Protocol which is Special to receive letters.I basically take charge to how to realize the function of sending letters. A namespace which is named MailSend is the soul of my programe.It includes two classes.A method named sendmial which realize the fuction step by step belongs to the class of SmtpMail. It detailedly note the track of client exchange to the server. You can use the software to send either a text E –Mail or a textE-mail with Attachments.You also can Send a letter to many addressee. In the nature of things,you can use a different SMTP service. The software I did support multiletters and multisender after I test.It is simplier than FoxMail and other professional softwares,but it is easy to hold and use.
Key Words:SMTP,nameSpace,Class,Attachment
电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。 电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向 mail server管理人员申请—个信箱账号,就可使用这项快速的邮件服务。 电子邮件的工作原理: 1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。 电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。 2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。 3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另—个邮件系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。
发送邮件类 是发送邮件的核心,类名为SmtpMail,隶属于命名空间MailSend。封装了发送邮件的具体实现方法,也是具体的RFC用代码实现的过程。而用户通过具体的操作接口,接口与SmtpMail类通过交互操作来实现用户发送信件的操作。
附加小功能类 是获取一些诸如系统时间,当前用户名,以及本机IP之类的类,类名为AddExtra,隶属于命名空间MailSend。
SMTP协议的研究 由于要开发的是邮件客户端程序,就不得不用到SMTP协议和POP协议。而我个人负责的是邮件发送功能的实现,因此就必然会涉及到SMTP(Simple Mail Transfer Protocol)协议。SMTP被用来在因特网上发送邮件,该协议规定了一些基本的命令和方法使客户端与服务器进行交互,以达到发送邮件的目的。
SMTP协议简介 简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。 SMTP的一个重要特点是它能够在传送中接力传送邮件,传送服务提供了进程间通信环境(IPCE),此环境可以包括一个网络,几个网络或一个网络的子网。理解到传送系统(或IPCE)不是一对一的是很重要的。进程可能直接和其它进程通过已知的IPCE通信。邮件是一个应用程序或进程间通信。邮件可以通过连接在不同IPCE上的进程跨网络进行邮件传送。更特别的是,邮件可以通过不同网络上的主机接力式传送。
目 录 1 引言 1 1.1 电子邮件介绍 1 1.2 开发背景 2 1.3 开发环境及运行环境 2 2 软件架构及系统用例图 3 2.1 系统架构 3 2.2 系统总体用例 3 2.4 发送邮件类 4 2.5 附加小功能类 4 3 SMTP协议的研究 4 3.1 SMTP协议简介及工作原理 5 3.2 SMTP协议的命令和应答 6 3.2.1 SMTP协议的命令 6 4 RFC822 14 4.1 RFC822简单介绍 14 4.2 信件的头部 14 5 命名控件MailSend 20 5.1 发送邮件类SmtpMail 20 5.2 AddExtra类 27 5.2.1 调用Windows API 所需的命名空间 28 5.2.3 在程序中具体的使用 28 6 软件运行时的界面 29 6.1 新建邮件帐号 29 7 系统测试 32 7.1 同一SMTP服务器发送邮件的测试 32 7.2 利用不同的SMTP服务器发送邮件的测试 32 8 结论 34 参考文献 35 致 谢 36 外文文献原文 译文
|