目 录
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
外文文献原文
译文
1 引言
1.1 电子邮件介绍
电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。它是全球多种网络上使用最普遍的一项服务。这种非交互式的通信,加速了信息的交流及数据传送,它是—个简易、快速的方法。通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。
电子邮件不是一种“终端到终端”的服务,是被称为“存贮转发式”服务。这正是电子信箱系统的核心,利用存贮转发可进行非实时通信,属异步通信方式。即信件发送者可随时随地发送邮件,不要求接收者同时在场,即使对方现在不在,仍可将邮件立刻送到对方的信箱内,且存储在对方的电子邮箱中。接收者可在他认为方便的时候读取信件,不受时空限制。在这里,“发送”邮件意味着将邮件放到收件人的信箱中,而“接收”邮件则意味着从自己的信箱中读取信件,信箱实际上是由文件管理系统支持的—个实体。因为电子邮件是通过邮件服务器(mai1 server)来传递档的。通常mail server是执行多任务操作系统UNIX的计算机,它提供24小时的电子邮件服务,用户只要向 mail server管理人员申请—个信箱账号,就可使用这项快速的邮件服务。
电子邮件的工作原理:
1) 电子邮件系统是一种新型的信息系统,是通信技术和计算机技术结合的产物。
电子邮件的传输是通过电子邮件简单传输协议(Simple Mail Transfer Protocol,简称SMTP)这一系统软件来完成的,它是Internet下的一种电子邮件通信协议。
2) 电子邮件的基本原理,是在通信网上设立“电子信箱系统”,它实际上是一个计算机系统。系统的硬件是一个高性能、大容量的计算机。硬盘作为信箱的存储介质,在硬盘上为用户分一定的存储空间作为用户的“信箱”,每位用户都有属于自己的—个电子信箱。并确定—个用户名和用户可以自己随意修改的口令。存储空间包含存放所收信件、编辑信件以及信件存盘三部分空间,用户使用口令开启自己的信箱,并进行发信、读信、编辑、转发、存档等各种操作。系统功能主要由软件实现。
3) 电子邮件的通信是在信箱之间进行的。用户首先开启自己的信箱,然后通过键入命令的方式将需要发送的邮件发到对方的信箱中。邮件在信箱之间进行传递和交换,也可以与另—个邮件系统进行传递和交换。收方在取信时,使用特定账号从信箱提取。
1.2 开发背景
当前流行的各大邮件客户端软件的除了最主要的收发信件之外,功能越来越复杂,但是人们平常真正用到的功能很少,很多功能尤其对于那些计算机知识相对缺乏的人来说,更加显得太过于华丽而不太实用。有鉴于此,在了解RFC底层协议的基础上,我们开发了这个各种功能相对简单实用的邮件客户端程序,简化了很多不必要的功能。
1.3 开发环境及运行环境
1.3.1 开发环境
AMD Athlon(TM),512M内存,80G硬盘
Microsoft® Windows™ XP Professional
Microsoft® Visual Studio 2003(C Sharp)
Microsoft® Developer Network for Visual Studio.NET 2003
1.3.2 运行环境
Intel® Pentium® 2及以上处理器,32M以上内存,4G以上硬盘
Microsoft® Windows™ 9X/NT操作系统
800*600或以上的屏幕分辨率
确保机器上安装有.Net FrameWork 1.0或者以上版本