在开发电子邮件发送程序的时候,我们经常需要使用到相应的组件,其实不需要第三方的组件(例如: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();
  }

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

ASP.NET结合COM组件发送Email的更多相关文章

  1. Jmail组件-----发送email

    jmail是一个第三方邮件操作组件,通常位于web服务器端,和站点程序紧密配合来接收及提交邮件到邮件服务器的控件,让网站拥有发送邮件既接收邮件的功能. 之所以想尝试它的理由呢 是因为----jmail ...

  2. asp.net发送E-mail

    发送电子邮件也是项目开发当中经常用到的功能,这里我整理了一个发送电子邮件(带附件,支持多用户发送,主送.抄送)的类库,供大家参考. 先上两个实体类,用于封装成Mail对象. /// <summa ...

  3. 发送Email并添加附件

    1. 添加命名空间 using System.Net.Mail; using System.Net; 2. The HTML MarpUp <html xmlns="http://ww ...

  4. ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

    原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开 ...

  5. 第19章-使用Spring发送Email

    1 配置Spring发送邮件 Spring Email抽象的核心是MailSender接口.顾名思义,MailSender的实现能够通过连接Email服务器实现邮件发送的功能,如图19.1所示. 图1 ...

  6. java发送email

    package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; imp ...

  7. Spring 发送 Email

    本文转自:http://zl198751.iteye.com/blog/757617 看到了本文,收获颇丰,感谢之至! 首先介绍下Email的发送流程: 需要选中smtp邮件服务器,Yahoo不提供免 ...

  8. 使用PHP发送email进行账号激活或者密码修改操作

    使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...

  9. 使用python原生的方法实现发送email

    使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...

随机推荐

  1. 善用Eclipse的代码模板功能

    转载自: 善用Eclipse的代码模板功能 Eclipse是个非常强大的IDE,作为一个JAVA程序员,几乎每天都与它打交道,但是它强大的功能都用到了吗? 今天让我们来看一下Eclipse中的“代码模 ...

  2. ql Server 2012完全卸载方法

    第一步,在控制面板里面找到程序——卸载程序这一项,打开之后就会是这样的了 第二步,经过第一步打开卸载程序后,在里面找到Microsoft SQLserver 2012 (64-bit)这一项,可以通过 ...

  3. Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins问题的解决

    今天换了个maven仓库,结果新建maven工程的时候,忽然报错: Cannot read lifecycle mapping metadata for artifact org.apache.mav ...

  4. php学习目录

    前面的话 前端工程师为什么要学习php?是因为招聘要求吗?这只是一方面 一开始,我对学习php是抵触的,毕竟javascript已经够自己喝一壶的了,再去学习php,可能让自己喝醉.但是,在学习jav ...

  5. java之不修改变量的数据类型的处理方式

  6. nginx “403 Forbidden” 错误的原因及解决办法

    nginx 的 403 Forbidden errors 表示你在请求一个资源文件但是nginx不允许你查看. 403 Forbidden 只是一个HTTP状态码,像404,200一样不是技术上的错误 ...

  7. 特殊符号 UNICODE编码

    特殊符号 UNICODE编码 =================== Start ⇠  箭头类 符号 UNICODE 符号 UNICODE HTML JS CSS HTML JS CSS ⇠ & ...

  8. 【BZOJ1970】[AHOI2005]矿藏编码(模拟)

    [BZOJ1970][AHOI2005]矿藏编码(模拟) 题面 BZOJ 洛谷 题解 随便写个高精度模拟一下就完了. #include<iostream> #include<cstd ...

  9. hdu3374解题报告

    hdu3374 Solution: 最小表示法+KMP 设一个字符串S的最小循环节是T.(如S=“abababab”,则T=“ab”) 在最小循环节T中,只有1个最小字符串和最大字符串.则最小字符串的 ...

  10. lrzsz 移植到 ARM-linux 嵌入式板子上

    特别说明:SSH 或 串口 都可以使用 lrzsz 进行通信 lrzsz是一个Unix通信包,提供XMODEM.YMODEM和ZMODEM文件传输协议.lrzsz以前是Omen科技的主打软件,现在已经 ...