答案:写在前面,下面的手册中,凡是额外功能部分都有 30天的使用限制,要解除该限制的方法如下:
如果你得到"AspEmail's premium features have expired"出错消息后请运行regedit,删除HKEY_LOCAL_MACHINE\SOFTWARE\Persits Software\AspEmail然后使用regsvr32重新注册AspEmail using.然后你又可以接着用30天了
AspEmail 4.1 是一个在ASP或则VB环境中使用外部SMTP服务器发送电子邮件消息的活动服务组件。AspEmail 4.1 支持多收件人,多CC, 多Bcc,多附件,HTML格式, 内嵌图形, 和非US ASCII字符集设置. AspEmail 4.1是一个完全免费的组件,除了内嵌图形功能、Quoted-Printable编码支持功能、消息队列功能需要另外的购买许可外这份完全免费的AspEmail可以从www.aspemail.com处下载。
系统需求:
一般配置需求: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例子中在演示AspMail的附件功能时使用到了AspUpload。所以如果你需要使用这个例子的话,请也注册AspUpload(你可以去www.aspupload.com了解更加详细的信息,不过它可不是免费的哦).
如何使用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 = "sales@mycompany.com"
Mail.FromName = "Sales Department" ' 可选的
如果要增加消息的收件人,CCs, BCCs, 和Reply-To,分别使用AddAddress, AddCC, AddBcc and AddReplyTo方法.
这些方法都有两个输入参数: email地址和可选的参数name.
Mail.AddAddress "jsmith@company1.com", "John Smith"
Mail.AddCC "bjohnson@company2.com" ' 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 BGCOLOR=#0000FF>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密码组件(也是Persits Software, Inc.出品)联合使用。如果想了解更多的信息,可以去下载免费的AspEncrypt试用版本www.aspencrypt.com
额外特点(可不是免费的说):支持队列消息
AspEmail如果你是使用基本的功能(就是上面介绍的功能)的话,它是完全免费的。但是它的额外的功能就需要你购买一个注册许可(当然你也可以易做图30天它的额外功能)。可以去www.aspemail.com购买这个东东。
AspEmail 4.1有一个新方法SendToQueue, 该方法不是直接将邮件发送给SMTP服务器
而是将消息按照先后顺序放入队列中,该队列由EmailAgent NT服务来发送。这是一个后台运行的进程。你的ASP中发送邮件的代码就不用一直要等到邮件发送完毕后才能够结束。这样就意味着你将大大提高代码的效率,缩短客户端等待时间。EmailAgent服务本身是完全免费的,可以从www.aspemail.com/download.html处下载.但是只是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方法有两个输入参数:图形文件的绝对路径和Content 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 inte易做图ce 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格式.如果