ASP.NET结合COM组件发送Email

2023-09-25 13:54:27 浏览数 (2)

在开发电子邮件发送程序的时候,我们经常需要使用到相应的组件,其实不需要第三方的组件(例如:Jmail网络

在开发电子邮件发送程序的时候,我们经常需要使用到相应的组件,其实不需要第三方的组件(例如:Jmail)照常可以做到发送Email的功能。

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

    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();   }

        运行程序,然后检查邮箱即可。

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

0 人点赞