当前位置:首页C#(Visual C# .net) → C#电子邮件客户端软件设计与实现.NET

C#电子邮件客户端软件设计与实现.NET

更新日期:2008-11-1
  • 论文设计编号: C#-553
  • 论文设计语言: C#(Visual C# .net)
  • 论文设计评级: 4星级
  • 论文设计页数: 38 页
  • 论文设计字数: 16506 字左右

C#电子邮件客户端软件设计与实现.NET

 

321   SMTP协议的命令

SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由<CRLF>结束的字符串。而在带有参数的情况下,命令本身由<SP>和参数分开,如果未带参数可以直接和<CRLF>连接。邮箱的语法格式必须和接收站点的格式一致。下面讨论SMTP命令和应答。

发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是DATA命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,或使一个或多个缓冲的内容被清除。

HELLO (HELO)

此命令用于向接收SMTP确认发送SMTP。参数域包括发送SMTP的主机名。接收SMTP通过连接确认命令来向发送SMTP确认接收SMTP。引命令和OK响应确认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态表和缓冲区已经被子清除。

MAIL (MAIL)

此命令用于开始将邮件发送到一个多个邮箱中。参数域包括回复路径。返回路径中包括了可选的主机和发送者邮箱列表。当有主机列表时,它是一个回复路径源,它说明此邮箱是由在表中的主机一一传递发送(第一个主机是最后一个接收到此邮件的主机)过来的。此表也有作向发送者返回非传递信号的源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE

.........................

1  引言··· 1

11  电子邮件介绍··· 1

12  开发背景··· 2

13  开发环境及运行环境··· 2

2  软件架构及系统用例图··· 3

21  系统架构··· 3

22  系统总体用例··· 3

24  发送邮件类··· 4

25  附加小功能类··· 4

3  SMTP协议的研究··· 4

31  SMTP协议简介及工作原理··· 5

32  SMTP协议的命令和应答··· 6

321   SMTP协议的命令··· 6

4  RFC822· 14

41  RFC822简单介绍··· 14

42  信件的头部··· 14

5  命名控件MailSend· 20

51  发送邮件类SmtpMail 20

52  AddExtra··· 27

521  调用Windows API 所需的命名空间··· 28

523  在程序中具体的使用··· 28

6  软件运行时的界面··· 29

61  新建邮件帐号··· 29

7  系统测试··· 32

71  同一SMTP服务器发送邮件的测试··· 32

72  利用不同的SMTP服务器发送邮件的测试··· 32

8  结论··· 34

参考文献··· 35

··· 36

外文文献原文

译文

 

系统测试

我个人做的是这个软件收发系统的一个最基本也是最主要的功能之一:发送邮件。

所以主要的测试也是围绕发送邮件展开的,具体的可以分为以下几个方面。

7.1  同一SMTP服务器发送邮件的测试

这个方面的测试测的是,用户登录一个服务器(测试中用的是163的SMTP服务器)来发送一封邮件的测试。而这个测试又可以分为以下两个方面:

7.1.1  同一服务器,发送一封纯文本邮件的测试

1)       发送一封文本邮件给一个收信人

测试中用163的邮箱分别往163的邮箱以及新浪的邮箱发送邮件均可以用FoxMail正常的接收到发送的普通的纯文本文件。

2)       发送一封文本邮件给多个收件人

测试中仍然用163的邮箱同时发往不同的邮箱,通过FoxMail都可以正常的接收到。从而很好的验证了,我们的邮件发送系统支持群发的功能。

7.1.2  同一服务器,发送一封带附件的邮件的测试。

1)       发送一封带附件(可以是多附件)的邮件给一个收件人

测试中用163的邮箱分别往163的邮箱以及新浪的邮箱发送之外,又添加了不同的邮件类型(个数分别为等于1,大于1即验证是否支持多附件的发送),用FoxMail接收之后,所有发送的纯文本信息,以及附件信息都正常无误。经过这些验证可以证明本软件支持对一个收件人发送多附件。由于带有多附件的信件,所以写入速度明显慢于纯文本邮件的速度。

2)发送一封带附件(可以是多附件)的邮件给多个收件人

测试中用163的邮箱分别往163的邮箱以及新浪的邮箱发送之外,又添加了不同的邮件类型(个数分别为等于1,大于1即验证是否支持多附件的发送),用FoxMail接收之后,所有发送的纯文本信息,以及附件信息都正常无误。经过这些验证可以证明本软件支持对多个收件人发送多附件。

7.2  利用不同的SMTP服务器发送邮件的测试

8  结论

这次编写的邮件客户端系统,我负责的是邮件的发送的功能。在熟悉了专门用于发送邮件的SMTP协议以及RFC规定的邮件的格式的基础上,运用了微软新推出的C Sharp这一新型的面向对象语言的便利性和灵活性,从SMTP协议规定的底层命令做起,一步步的与服务器进行交互操作,最终实现发送多附件多接收人的功能。其中,具体的和服务器的交互操作,都封装了在SmtpMail.dll这个动态链接库里面了。而为了方便最终的调用和整合,所有的有关后台操作发送邮件的类以及其他的附加功能的类,全部都归属于MailSend这个命名空间了。在力求达到FoxMail功能的同时,又加了一点个人的思想并把它体现到了这一软件上。最主要的体现就是新建帐号的提前检测这一特色上,这一功能类似于很多Web页面的“检测新帐号”的功能,这样就免去了用户一直到确定注册完成时,才因为帐户因为已经被使用而注册失败的麻烦。总之,通过这次的编程,使我对网络编程有了一个很好的认识和锻炼,也使我对C Sharp这一语言的掌握程度又上了一个新台阶,虽然编出来的软件不能和功能强大的FoxMail相提并论,但是相信它简单,易操作性,和FoxMail的很多强大但却“鸡肋”似的功能比较起来,更多了几分实用性。以后的日子,随着我技术的提高和思想的成熟,我一定会把它做的更好,更趋近于完美。


C#电子邮件客户端软件设计与实现.NET

此毕业设计包含:

外文文献原文.doc

译文.doc+PPT答辩稿.doc

开题报告.doc

毕业论文正文.doc

论文格式(封面).doc

摘要.doc

C#电子邮件客户端软件源码


本站公告

欢迎来到LW208计算机毕业设计,本站提供这些设计的初衷是为大家在毕业设计过程中作参考之用或研究编程作参考之用,切勿直接把它用来作为你自己的毕业设计交给老师,否则对提高自己的能力和水平没有任何益处.
从本站获得相关设计资料后,你最好参考该设计的源代码用相应的编程工具重新做一遍,可以增删或修改某些模块.对于论文要结合源程序和自己的工作生活实际进行相应的修改.

www.LW208.com Beta V1.5 2004-2008 Inc.