毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

电子邮件客户端软件开题报告+论文+源代码+英文文献 第14页

更新时间:2009-3-29:  来源:毕业论文
电子邮件客户端软件开题报告+论文+源代码+英文文献 第14页软件的名称,还包含软件的版本号。例如软件名为Littlefox Mailer,版本为V1.0, 可以将“X-Mailer:Littlefox Mailer V1.0”加到邮件信头中去。
图2 7 - 2列出了一些在因特网电子邮件中可以找到的普通关键字,以及使用它们的目的。

关键字     含义
From      发送方地址
To        接收方地址
Cc        复制副本地址
Date      信息创建日期
Subject    信息主题
Reply-To   回复地址
X-Charset   使用的字符集(通常为ASCII)
X-Mailer    发送信息所使用的软件
X-Sender    发送方地址的副本
X-Face     经编码的发送方面孔的图象
整个系统的核心是收发信件的操作,因此为了方便文护,以后的升级,故将这两个最主要的操作写成类库(.dll)的形式,以组件的形式加载到主程序中,而且其它的功能如果需要的话,也可以通过这样的组件的形式增加到主程序中。这也体现了C Sharp这一新的微软主推语言的方便和高校。而且这样做也方便了我们小组的程序的顺利结合。
 
5  命名控件MailSend
由于在C Sharp语言中,都是以命名控件来组织程序的。而所有的类都归属于一个特定的命名空间下。需要的命名空间系统本身自带了一部分,而且如果系统没有你需要的命名空间的话,就可以自己编写,本节中的这个命名空间就是由于需要而编写的。而调用某一个类中的某个变量成员的方法就是通过 命名空间名.类名.变量成员 来访问的,当然在C Sharp 中如果在程序开始通过Using 命名空间名,就可以直接的象C++那样来访问成员变量,可以说相当的方便,这些都会在程序中体现出来,再次不再做过多的叙述。
5.1  发送邮件类SmtpMail
5.1.1  主要成员变量说明
1) 网络连接类及实例TcpClient tc
为 TCP 网络服务提供客户端连接类TcpClient实例对象tc。TcpClient 类提供了一些简单的方法,用于在同步阻塞模式下通过网络来连接、发送和接收流数据。而实例化的过程也是连接SMTP服务器的过程。它的重载方法之一的两个参数一个为服务器名称字符串,另一个为服务器的埠。
2)提供用于网络访问的基础数据流及其实例 NetworkStream ns
此类提供访问网络的基础数据流的方法。其中最基本也是最重要的两个方法就是Write()和Read()方法,至于参数不再次赘述。
3)一文字符串数组变量FilePath
此字符串数组主要用来存放用户选择的附件的绝对路径名,并在发送带附件的邮件时用到。
4)发送邮件所需的基本参数
比如用于ESMTP等录检验用的用户名、密码,发送邮件需要的收信人,发信人地址以及主题等等在此不再赘述。
5.1.2  主要成员函数说明
1)重载的构造函数 SmtpMail()
此函数主要用于在初始化过程中,把用户选择的附件的路径以参数的形式传给FilePath。
2)添加附件的函数 AddAttachment
传给FilePath的路径,通过这样一个函数就可以循环的动态的添加到IList接口的一个对象中了,方便以后在具体的实现的过程中的使用。
3)得到上传的附件的文件流 GetStream
由于在网络中的操作都是以网络流的形式来实现的,因此先将上传的附件转换成文件流,然后再用Write的方法把这些附件的文件流写入到网络中,来完成发送附件的操作。具体实现代码如下所示:
private string GetStream(string FilePath)
  {
   //建立文件流对象
 System.IO.FileStream FileStr=new System.IO.FileStream(FilePath,System.IO.FileMode.Open);
  byte[] by=new byte[System.Convert.ToInt32(FileStr.Length)];
  FileStr.Read(by,0,by.Length);
  FileStr.Close();
  return(System.Convert.ToBase64String(by));
  }
4)将字符串编码为Base64字符串的函数 Base64Encode
由于ESMTP的LOGIN认证机制是采用Base64编码,当用户发出AUTHLOGIN的命令后,服务器返回334的应答码等待用户输入。如果身份确认后服务器返回235的应答码,否则返回失败信息。所以要将用户名和密码转换成Base64编码然后再发给服务器。此函数的作用就是把给定的字符串转换成相应的Base64编码的字符串。
5) 发送SMTP命令的函数 SendCommand
这个函数的作用是把SMTP命令的字符串转换成对应的字节型值(C#中规定的Write方法只能写入字节型的数据)然后写入网络中,如果操作成功就返回一个标志为真的布尔型变量,如果操作失败或者发生异常就返回标志为假的布尔型变量。具体代码如下所示:
private bool SendCommand(string str)
  {
   //定义一个数组
   byte[] WriteBuffer;
   //设定一个布尔类型的变量
   bool state=false;
   WriteBuffer = Encoding.Default.GetBytes(str);
   //加入防错机制,可以有效提高程序运行的效率和捕获出错信息
   try
   {
    //向网络中写入数据
    ns.Write(WriteBuffer,0,WriteBuffer.Length);
    state=true;
   }
   catch(Exception ex)
   {
    //返回出错信息
    MessageBox.Show (ex.ToString ());
    state=false;
   }
  //返回标志位
  return state;
  }
6) 接受服务器应答的函数 RecvResponse
它的作用就是从网络流中读取服务器返回的字节型的信息,将其转换成字符串型的变量,然后将其返回,可以通过其返回值来判断操作是否成功。具体实现代码如下所示:
private string RecvResponse()
  {
   int StreamSize=0;
   string ReturnValue ="";
   //定义一个字节型的数组
   byte[] ReadBuffer = new byte[1024] ;

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] 下一页

电子邮件客户端软件开题报告+论文+源代码+英文文献 第14页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。