一个非常好用的发送邮件的组件

网络整理 - 09-14
     Batman
  
    写在前面,下面的手册中,凡是额外功能部分都有 30天的使用限制,
  要解除该限制的方法如下:
    如果你得到“AspEmail's premium features have expired”出错消
  息后请运行regedit,删除HKEY_LOCAL_MACHINE\SOFTWARE\Persits Softwa
  re\AspEmail然后使用regsvr32重新注册AspEmail using.然后你又可以接
  着用30天了
  
  AspEmail 4.1 手册
  Copyright (c) 1999 Persits Software, Inc。
  All Rights Reserved
  
  ·什么是AspEmail 4.1?
  
    AspEmail 4.1 是一个在 ASP 或则 VB 环境中使用外部 SMTP 服务器
  发送电子邮件消息的活动服务组件。AspEmail 4.1 支持多收件人,多CC,
  多 Bcc多,附件,HTML格式,内嵌图形,和非US ASCII字符集设置。Asp-
  -Email 4.1是一个完全免费的组件,除了内嵌图形功能、Quoted-Printable
  编码支持功能、消息队列功能需要另外的购买许可外,这份完全免费的Asp-
  -Email可以从处下载。
  
  ·系统需求:
  
    一般配置需求:
    Windows 95/98 或则 Windows NT 4.0+
    一个外部SMTP服务程序
  
   特殊配置需求:
  
    Internet Information Server 3.0 + 和 Active Server Pages
    或则Personal Web Server (任何版本) 和 Active Server Pages
    或则Visual Basic, Visual C++, 其他支持COM组件的开发环境
  
  ·如何开始呢?
  
    首先需要在你的系统上注册 AspEmail, 在你的MS DOS或则Start/Run
  中执行下面的命令:
  
    C:\>regsvr32 c:\AspEmailDir\AspEmail.dll
  
    AspEmail 是和 AspUpload(Persits Software,Inc.)组件评估版本
  一同发布的该组件是用来将附件文件上载到服务端的。(译者注:当然了,
  AspMail也可以单独使用的)
  
  注册AspUpload执行下面的命令:
  
    C:\>regsvr32 c:\AspEmailDir\AspUpload.dll
  
    AspUpload不需要运行AspEmail。
  
    然而, 在和 AspMail 一起发布的 Asp SendMail 例子中在演示 Asp-
  -Mail 的附件功能时使用到了 AspUpload 所以如果你需要使用这个例子
  的话,请也注册 AspUpload(你可以去了解更加详细
  的信息,不过它可不是免费的哦)。
  
  ·如何使用AspEmail
  
    在ASP环境中使用AspEmail的代码如下:
  <%
  Set Mail = Server.CreateObject("Persits.MailSender")
  %>
  
    在VB环境中使用ASPMail的代码如下,使用前先去Project/References...
  中选中Persits Software AspEmail 4.1。
  
   Dim Mail As MailSender
   Set Mail = New MailSender
  
   Mail.Host = "smtp.mycompany.com"
   Mail.Port = 25
   Mail.From = "[email protected]"
   Mail.FromName = "Sales Department" ' 可选的
  
    如果要增加消息的收件人,CCs, BCCs, 和Reply-To,分别使用Add
  Address, AddCC, AddBcc and AddReplyTo方法。
  
    这些方法都有两个输入参数: email地址和可选的参数name。
  
  Mail.AddAddress "[email protected]", "John Smith"
  Mail.AddCC "[email protected]" ' Name是可选的
  
    使用Subject和Body属性来分别指定消息的主题和消息正文。正文可
  以是纯文本也可以是HTML格式的.如果要使用HTML格式的话,你必须要设
  置IsHTML属性为True.例如
  
   Mail.Subject = "Sales Receipt"
   Mail.Body = "Dear John:" & chr(13) & chr(10) &
  "Thank you for your business。Here is your receipt."
  
  或则
  
   Mail.Subject = "Sales Receipt"
   Mail.Body = "<HTML><BODY>Dear John:....</BODY></HTML>"
   Mail.IsHTML = True
  
    如果是要发送一个文件附件的话,使用 AddAttachment 方法。它使
  用附件的绝对路径为输入参数.如果你有多个附件的话,就多次调用这个
  方法即可
  
  注意:不要使用“=”来传递参数
  
  Mail.AddAttachment "c:\dir\receipt.doc"
  发送消息是调用Send方法。该方法在出现异常时会出错
  
    你应该选择截获这个出错信息,这个可以使用On Error Resume Next
  来实现,例如:
  
  On Error Resume Next
  Mail.Send
  If Err <> 0 Then
  Response.Write "An error occurred: " & Err.Description
  End If
  
  
    支持基于S/MIME的加密和数字电子签名。从Build 4.0.0.3版本开始,
  AspEmail就可以生成基于工业标准的S/MIME格式的密码和数字电子签名。
  如果要发送秘密邮件, AspEmail必须要和AspEncrypt密码组件(也是Per-
  -sits Software, Inc.出品)联合使用。
  
    如果想了解更多的信息,可以去下载免费的AspEncrypt试用版本
  额外特点(可不是免费的说):支持队列消息AspEmail
  如果你是使用基本的功能(就是上面介绍的功能)的话,它是完全免费的。
  但是它的额外的功能就需要你购买一个注册许可(当然你也可以免费使用
  30天它的额外功能)可以去购买这个东东。
  
    AspEmail 4.1有一个新方法SendToQueue, 该方法不是直接将邮件发
  送给SMTP服务器而是将消息按照先后顺序放入队列中,该队列由EmailAgent
  NT服务来发送。这是一个后台运行的进程你的ASP中发送邮件的代码就不
  用一直要等到邮件发送完毕后才能够结束这样就意味着你将大大提高代码
  的效率,缩短客户端等待时间。EmailAgent服务本身是完全免费的,可以
  从处下载。但是只是SendToQueue方法
  需要在你使用了30天后购买一个注册的key。
  
  额外特点: 使用内嵌图形发送消息
  
    AspEmail能够发送包含有图形的电子邮件。例子如下:(该例子发送
  一个有背景图形的电子邮件)
  
  Mail.Body = "<HTML><BODY BACKGROUND=""cid:My-Background-Image"">...</BODY></HTML>"
  Mail.AddEmbeddedImage "c:\aspemaildir\margin.gif", "My-Background-Image"
  
    AddEmbeddedImage方法有两个输入参数:图形文件的绝对路径和Cont
  ent ID (是一个字符串变量)该变量格式如下:"cid:<Content ID>"
  
    在例子中的该变量Content ID为"My-Background-Image"用来引用
  <BODY>标志的BACKGROUND属性.你可以使用同样的技术来在<IMG>标志中使
  用该功能,例子如下:
  
  Mail.Body = "<HTML>....<IMG SRC=""cid:My-Company-Logo"">...</HTML>"
  Mail.AddEmbeddedImage "c:\aspemaildir\logo.gif", "My-Company-Logo"
  
    为了让你的脚本可读性更好,你可以选择把你的消息文本放到一个独
  立的文件中,然后把该文件使用AppendBodyFromFile方法加入到正文中
  
  <!-- File messagebody.html-->
  <HTML>
  <HEAD>
  <STYLE>BODY {
  COLOR: #427d64; FONT-FAMILY: "Arial"; FONT-SIZE: 12pt; MARGIN-LEFT: 8em
  }
  </STYLE>
  </HEAD>
  <BODY BACKGROUND="cid:My-Background-Image">
  <H2>Thank you for Shopping At Our Online Store!</H2>
  </BODY>
  </HTML>
  
    要在你的正文中使用上面这个文件,代码如下:
  
  Mail.AppendBodyFromFile "c:\aspemaildir\messagebody.html"
  Mail.AddEmbeddedImage "c:\aspemaildir\margin.gif", "My-Background-Image"
  
  额外特点: 支持非US-ASCII字符集
  
    AspEmail能够发送非US-ASCII字符集,只要是可以打印出来的格式即
  可。也就是说,该格式在标准RFC-2045中有详细描述.也就是说ASC码小于
  33和大于126的可以被表示为"=" 后加两个16进制的数字。例如, 10进制
  数值12 (US-ASCII中的换页符号)表示为"=0C",10进制的数值61 (US-ASCII
  中的 "="字符)被表示为"=3D"。AspEmail自动对消息正文按照Quoted-
  Printable格式进行编码,如故将ContentTransferEncoding属性设置为
  "quoted-printable"。你也可以设置CharSet属性为适当的字符集下面的
  代码片段使用KOI8字符集的俄文发送一个文本文件(该文件在此不显示):
  
  Mail.ContentTransferEncoding = "quoted-printable"
  Mail.Charset = "koi8-r"
  Mail.AppendBodyFromFile "c:\russiandoc.txt"
  Mail.Send
  
  ASP例子程序
  
    跟随AspEmail发布的还有一个ASP例子程序,该例子允许你通过Web建
  立和发送有附件的邮件。该例子程序由下面几个文件组成:
  
  global.asa (collection object creation)
  SendMail.asp (main Email interface page)
  Attachments.asp (attachment handling page)
  Uploadscript.asp (upload script which uses AspUpload)。
  
    要正确使用这个例子的话,请正确注册ASPUpload组件试用版本
  
  对象帮助
  
    AspEmail的属性和属性注释,属性名称 属性类型 注释
  
  Host String(必须) SMTP服务器的主机名称
  
  Port Integer SMTP的端口号,默认为25。
  
  From String(必须) 发件人的email地址
  
  FromName String 发件人的名称
  
  Subject String 消息的主题
  
  Body String 消息的正文。可以是文本也可以是HTML格式。如果是后者,
        那么属性IsHTML必须为True。
  
  IsHTML Boolean 默认值为False.如果被设置为True,AspEmail将设置消
          息的Content-Type部分为text/html。
  
  Priority Integer 消息的优先权.合法值为1(高),3(普通)和5(底)。默
           认为0(即没指定优先级)。
  
  Helo String 默认值为"AspEmail".当SMTP对话开始后该字符串随HELO命
        令被发送.用来SMTP的客户端标识SMTP服务器的域名。
  
  ContentTransferEncoding String 默认为"7bit".指定Content-Transfer
                 -Encoding MIME.其它的合法值包括"8bit"
                 和"quoted-printable"。如果将其设置
                 为"quoted-printable",AspEmail将自
                 动转换消息正文为RFC-2045的Quoted-
                 Printable格式。
  
  CharSet String 默认值为"ISO-8859-1".指定消息中的Content-Type MIME。
  
  Expires Date (只读) 返回额外功能的过期日期。如果安装了合法的key
         后返回9/9/9999.如果返回0 (显示为"12:00 AM")表示过
         期或则没有安装key
  
  错误代码
  
  1 Winsock initialization failed。
  2 gethostbyname failed。
  3 Socket creation failed。
  4 Connection failed。
  5 Sending data failed。
  6 Error returned from SMTP server
  7 Opening file failed。
  8 Not enough memory。
  9 Reading from file failed。
  10 Host not specified
  11 ContentID may not be empty (generated by AddEmbededImage)
  12 ContetnID must be unique (generated by AddEmbeddedImage)
  13 Invalid Priority value (generated by put_Priority)
  14 Component is expired or invalid registration key (generated
    by premium methods and properties only)
  
  
   下载地址: