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