电子邮件客户端软件开题报告+论文+源代码+英文文献 第16页 if(RightCodeHT[RecvResponse().Substring(0,3)]==null) 
   {
    return false; 
   } 
   string[] SendBuffer; 
   string SendBufferstr; 
   //进行SMTP验证 
   //具体的SMTP命令与代码的结合
   if(ESmtp) 
   { 
    SendBuffer=new String[4]; 
    SendBuffer[0]="EHLO " + mailserver + enter; 
    SendBuffer[1]="AUTH LOGIN" + enter; 
    SendBuffer[2]=Base64Encode(username) + enter; 
    SendBuffer[3]=Base64Encode(password) + enter; 
if(!Dialog(SendBuffer,"SMTP服务器验证失败,请核对用户名和密码。")) 
     return false; 
   } 
   else 
   { 
    SendBufferstr="HELO " + mailserver + enter; 
    if(!Dialog(SendBufferstr,"")) 
     return false; 
   } 
   SendBufferstr="MAIL FROM:<" + From + ">" + enter; 
   if(!Dialog(SendBufferstr,"发件人地址错误,或不能为空")) 
    return false; 
   //把传过来的收件人的地址分割然后提交给服务器
   string split=";";
   string []address=Regex.Split (Recipient,split);
   SendBuffer=new string [address.Length];
   for(int i=0;i<SendBuffer.Length;i++)
   {
    SendBuffer[i]="RCPT TO:<" +address[i]+">" + enter;
   }
   if(!Dialog(SendBuffer,"收件人地址有误")) 
    return false; 
   SendBufferstr="DATA" + enter; 
   if(!Dialog(SendBufferstr,"")) 
    return false; 
   SendBufferstr="From:" + FromName + "<" + From +">" +enter;
SendBufferstr += enter + "." + enter; 
   if(!Dialog(SendBufferstr,"错误信件信息")) 
    return false; 
   SendBufferstr="QUIT" + enter; 
   if(!Dialog(SendBufferstr,"断开连接时错误")) 
    return false; 
   //关闭流对象
   ns.Close(); 
   //关闭连接
   tc.Close();
   FilePath=null;
   return true; 
  }
以上即为发送不带附件的邮件SMTP命令用代码实现的过程。
5.2  AddExtra类
这个附加的小类只是提供一些返回当前系统时间,获取主机名,主机IP,有关帮助等小的功能,在此仅对帮助信息中的“关于”操作函数稍加说明。因为它说明了在C Sharp 中调用 Windows API 函数所需如下几个步骤:
5.2.1  调用Windows API 所需的命名空间
----using System.Runtime.InteropServices;
而调用显示关于对话框的函数ShellAbout还需要用到两个命名空间如下所示
---using System.Reflection;
---using System.Diagnostics ;
5.2.2  在程序中声明所需的API函数
[DllImport("shell32.dll")]
static extern int ShellAbout(IntPtr hWnd, string szApp, string szOtherStuff,
IntPtr hIcon);
5.2.3  在程序中具体的使用
Assembly ass=Assembly.GetExecutingAssembly();
FileVersionInfo myVersion=FileVersionInfo.GetVersionInfo(ass.Location );
ShellAbout(this.Handle ,"邮件收发系统#","版本"+myVersion.FileMajorPart +"."+myVersion.FileMinorPart+"." +myVersion.CompanyName ,this.Icon .Handle );
至此就完成了在C Sharp中调用 Windows API 函数的过程。
 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] 下一页 
电子邮件客户端软件开题报告+论文+源代码+英文文献 第16页下载如图片无法显示或论文不完整,请联系qq752018766