在ASP中发送Email时往往需要一个COM组件支持,如果你没有第三方的Email组件,你可以使用IIS本身提供CDONTS EMail组件。这个组件使用时需要安装和启动SMTP服务。这个组件的名称为CDONTS.DLL,使用前需要使用RegSvr32注册这个组件。

CDONTS组件提供了一系列对象,包括AddressEntry、Attachment、Attachments、Folder、Message、Messages、NewMail、Recipient、Recipients、Session,我们经常使用的是NewMail对象。下面是NewMail对象提供的方法和属性:

名称

功能

格式

Attach

添加附件

Sub AttachFile(Source, [FileName], [EncodingMethod])

AttachURL

以URL格式添加附加和数据

Sub AttachURL(Source,ContentLocation,

[ContentBase], [EncodingMethod])

BCC

以“,”分隔的BCC接收者列表(暗送)

字符串类型属性

Body

Text或者HTML格式的邮件正文

字符串类型属性

body format

邮件正文格式

0:表示HTMl格式,1:表示Text格式

CC

以“,”分隔的CC接收者列表(抄送)

字符串类型属性

ContentBase

带有URL附件的邮件中正文采用的URL基地址

字符串类型属性

ContentLocation

带有URL附件的邮件中正文采用的URL

字符串类型属性

From

邮件发送方地址

字符串类型属性

Importance

邮件级别

0: 普通 1:机密 2:绝密

Send

发送邮件

Sub Send([From], [To], [Subject], [Body], [Importance])

各个参数可以参考上下文属性

SetLocaleIDs

设置新消息的代码页标识

Sub SetLocaleIDs(CodePageID As Long)

Subject

邮件主题

字符串类型属性

To

以“,”分隔的接收者地址列表

字符串类型属性

Value

任意的邮件头的值

字符串类型属性

Version

当前集合数据对象库(CDO)的版本号

只读字符串类型属性

在使用有关对象的方法时,方括号参数可以省略。

下面是采用ASP使用的例子:

 Dim MailObject

Set MailObject = Server.CreateObject("CDONTS.NewMail")

MailObject.Send "发送方邮件地址","接收方邮件地址","主题","邮件正文"

发送附件时可以这样:

Dim MailObject

Set MailObject = Server.CreateObject("CDONTS.NewMail")

Set MailObject = Server.CreateObject("CDONTS.NewMail")

att_fileName="附件文件名完整路径"

f_name="文件名"

MailObject.From="在这填写发件人地址"

MailObject.To="在这填写接收人地址"

MailObject.Subject="填写主题"

MailObject.Body="填写正文"

MailObject.AttachFile att_file,f_name

MailObject.Send

如果你需要了解CDONTS其它对象的信息,你可以在Visual Basic工程中添加CDONTS组件的引用,然后使用对象浏览器察看CDONTS类型库。添加CDONTS引用时可以浏览到Windows安装目录的系统目录

例子

SendMail "", "", "HTML Mail!", m_strHTML, 2, 1, Null
Sub SendMail(strFrom, strTo, strSubject, strBody, lngImportance, lngAType, strAttach)
 '参数说明
 'strFrom : 发件人Email
 'strTo : 收件人Email
 'strSubject : 信件主题
 'strBody : 信件正文
 'lngImportance : 信件重要性
 ' 0: 普通 1:机密 2:绝密
 'lngAType : 信件格式
 ' : 为1时将邮件正文作为HTML(此时可以发送HTML邮件)
 'strAttach : 附件的路径
 on error resume next
 Dim objMail
 Set objMail = Server.CreateObject("CDONTS.NEWMAIL")
 if err then
  SendMail= "没有安装CDONTS组件"
  err.clear
  exit function
 end if
 With objMail
  .From = strFrom
  .To = strTo
  .Subject = strSubject
  .Body = strBody
  .Importance = lngImportance
  If lngAType = 1 Then
   .BodyFormat = 0
   .MailFormat = 0
  End If
  If IsEmpty(strAttach) = False And IsNull(strAttach) = False Then
   .AttachFile strAttach
  End If
  .Send
 End With
 Set objMail = Nothing
 if err then
  cSendMail=err.description
  err.clear
 else
  cSendMail="OK"
 end if
End Sub

CDONTS组件的更多相关文章

  1. asp发邮件控件

    <% Set jmail = Server.CreateObject("JMAIL.SMTPMail") ’创建一个JMAIL对象 jmail.silent = true ’ ...

  2. 在Asp.Net中使用SmtpMail发送邮件的方法

    在ASP中,就可以通过调用CDONTS组件发送简单邮件,在ASP.Net中,自然也可以.不同的是,.Net Framework中,将这一组件封装到了System.Web.Mail命名空间中. 一个典型 ...

  3. ASP精华[转]

    <% '#######以下是一个类文件,下面的注解是调用类的方法################################################ '# 注意:如果系统不支持建立S ...

  4. ASP CDONTS.NEWMAIL组件发送电邮(附下载)

    附CDONT.NEWMAIL组件下载地址:http://files.cnblogs.com/files/colinliu/cdonts.rar ASP常规发送方法: <% dim mail se ...

  5. IIS安装asp组件:JMail 邮件收发组件

    JMail简介 jmail是一种服务器端的邮件发送组件,和个人用的客户端邮件软件不一样的.jmail是在服务器上给程序用来发邮件用的,除了软件编程人员,其他人一般平常用不上. jmail是一个第三方邮 ...

  6. ExtJS 4.2 评分组件

    上一文章是扩展ExtJS自带的Date组件.在这里将创建一个评分组件. 目录 1. 介绍 2. 示例 3. 资源下载 1. 介绍 代码参考的是 Sencha Touch 2上的一个RatingStar ...

  7. react组件的生命周期

    写在前面: 阅读了多遍文章之后,自己总结了一个.一遍加强记忆,和日后回顾. 一.实例化(初始化) var Button = React.createClass({ getInitialState: f ...

  8. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  9. Angular2入门系列教程3-多个组件,主从关系

    上一篇 Angular2项目初体验-编写自己的第一个组件 好了,前面简单介绍了Angular2的基本开发,并且写了一个非常简单的组件,这篇文章我们将要学会编写多个组件并且有主从关系 现在,假设我们要做 ...

随机推荐

  1. Kali Rolling 下利用rtl-sdr跟踪飞机路线

    环境 kali rolling 状态:未升级发行版,仅用 "apt-get upgrade " 命令更新了软件 原料 RTL-SDR电视棒一个,芯片是RTL2832U 原理 我国民 ...

  2. Html批量读取json

    html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <sc ...

  3. Qml 定义 constant

    对于程序中一些常量如字符串, 实数等, C++中经常用的方法, 是定义全局常量: 或者把所有意义相近的常量用一个单例类收集起来. QML是类JSON的标识性语言, 使用js 语法去操作对象. 在QML ...

  4. TortoiseGit - 分支管理 -增加分支

    1.本地当前在master分支,右击选择Create Branch... 2.填写Branch的名称 3.右击选择Push,在Ref-Local,选择刚才新建的Branch名称 4.点击OK后,在弹出 ...

  5. [ An Ac a Day ^_^ ] CodeForces 426C Sereja and Swaps 优先队列

    题意: 给你一个有n个数的序列 取一个区间 这个区间内的数可以与区间外的值交换k次 问这样的区间最大值是多少 思路: 看数据是200 时间复杂度O(n*n) 应该可以暴力 顺便学习一下优先队列 枚举区 ...

  6. 2016NEFU集训第n+3场 E - New Reform

    Description Berland has n cities connected by m bidirectional roads. No road connects a city to itse ...

  7. js与jquery实时监听输入框值变化方法

    本文实例讲述了js与jquery实时监听输入框值的oninput与onpropertychange方法.分享给大家供大家参考.具体如下: 最近做过一个项目,需求是下拉框里自动匹配关键字,具体细节是实时 ...

  8. IOS开发—UITableView重用机制的了解

    引言 对于一个UITableView而言,可能需要显示成百上千个Cell,如果每个cell都单独创建的话,会消耗很大的内存.为了避免这种情况,重用机制就诞生了. 假设某个UITableView有100 ...

  9. poj1256(全排列stl)

    #include<stdio.h>#include<string.h>#include<algorithm>using namespace std;bool cmp ...

  10. 关于解决“No matching provisioning profiles found”问题-ios

    xcode7之后真机调试就可以不需要调试证书了,但其中也会遇到一些问题令人挠头搔耳.记录下来是给自己提供方便,也为初遇到此问题的人提供解答,利人利己的事情我做!   上图: 图一 本人有一种视警号为e ...