手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

ASP.NET结合COM组件发送Email

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  在系统目录(如c:\winnt或c:\windows)的system32子目录中可以找到一个名称为cdosys.dll的文件,我们可以通过ASP.NET调用此COM组件来实现Email的发送。cdosys构建在SMTP协议和NNTP协议之上,并且作为Windows2000 Server的组件被安装,当然我们也可以使用Exchange2000中cdoex.dll来实现发送邮件的机制,由于cdosys.dll内嵌到了操作系统中,所以不用再去注册相应的其他邮件发送程序比如jmail等。

  1、新建一个项目文件

  2、添加引用系统目录下的cdosys.dll文件,在引用中会发现添加了两个要用到的接口:CDO,ADODB

  3、添加新项文件SendMail.aspx,在其页面上放置三个Label,三个Textbox,作用分别为收件人地址、主题、内容,放置一个Button按钮。

  4、切换到代码页,创建一下内容

public void CDOsendmail()
{
 try
 {
  CDO.Message Msg = new CDO.Message();
  Msg.From = "rattlesnake@263.net";
  Msg.To = this.TextBox1.Text.Trim();
  Msg.Subject = this.TextBox2.Text.Trim();
  Msg.HTMLBody = "<html><body>" this.TextBox3.Text "</body></html>";
  CDO.IConfiguration Config = Msg.Configuration;
  ADODB.Fields oFields = Config.Fields;
  oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;
 oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="rattlesnake";
 oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value="pass";
 oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;
 oFields["http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804;
 oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="smtp.263.net";
 oFields.Update();

  Msg.BodyPart.Charset = "gb2312";
  Msg.HTMLBodyPart.Charset = "gb2312";
 
  Msg.Send();
  Msg = null;
 }
 catch(Exception err)
 {
  throw err;
 }
}

  5、为Button添加Click事件

private void Button1_Click(object sender, System.EventArgs e)
{
this.CDOsendmail();
}

  运行程序即可。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!