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

电子邮件客户端软件开题报告+论文+源代码+英文文献 第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] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有