繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> iASP_Mail 组件介绍见内

iASP_Mail 组件介绍见内

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:iASP-Mail 让你直接从一个网页发送SMTP邮件。其特性包括: SMTP (发送) 消息 多种文件附件支持MIME,UUencoding ASCII和ISO-8859-1字符设置。 特殊Header支持(Standard X-Priority headers,MS Mail (including ...
关键字:组件 Mail iASP

iASP-Mail 让你直接从一个网页发送SMTP邮件。其特性包括: SMTP (发送) 消息 多种文件附件支持MIME,UUencoding ASCII和ISO-8859-1字符设置。 特殊Header支持(Standard X-Priority headers,MS Mail (including Exchange) priority headers, Urgent header,ConfirmReading 和 ReturnReceipt Headers) 自定义ContentType headers word wrap (customizable) Subject line encoding for 8bit message subjects Redundant SMTP servers (如果原SMTP 服务器关闭,则使用第二个服务器) 多个并发用户

详情请参考以下链接: iASP_Mail 安装 简单的邮件实例 表单(Form)处理 普通表单(Form)处理 设置邮件优先级 如何使用Date/Time属性 创建Mail对象的注意事项 多主机支持 关于升级 iASP_Mail 属性 iASP_Mail 组件方法

iASP_Mail 安转

Up

使用iASP组件,你只需将jar文件移至ClaASPath即可。

简单的邮件实例

Up

使用组件非常简单,你只要按照以下步骤即可: 创建一个对象 设置某些属性 调用SendMail方法

以下代码示范了如何从VBScript使用iASP_Mail。在此例中,来自George Handlyhe的George想发一个email给John Smith。Geoge的mail服务器位于mailhost.halcyonsoft.com。

Set mail = Server.CreateObject("SMTPsvg.Mailer")mail.FromName = "George Handky Corp."mail.FromAddress= "George@halcyonsoft.com"mail.RemoteHost = "mailhost.halcyonsoft.com"mail.AddRecipient "John Smith", "jsmith@halcyonsoft.com"mail.Subject = "Great SMTP Product!"mail.BodyText = "Dear Stephen" & VbCrLf & "Your widgets order has been processed!"if mail.SendMail then Response.Write "Mail sent..."else Response.Write "Mail send failure. Error was " & mail.Responseend if

我们可以通过检验SendMail方法的结果来决定邮件发送是否成功。

表单(Form)处理

Up

所有或大部分的消息输入来自于一个from(表单)。例如,一个表单传递给服务器一个GET方法(即:

)的请求,便提供了请求者的email地址,消息文本的主题,如:

mail.AddRecipient Request.QueryString("ToName"), Request.QueryString("ToAddress")mail.Subject = Request.QueryString("Subject")mail.BodyText = Request.QueryString("MsgBody")

from表单也可以使用POST方法(即:),这种情况下的代码如下:

mail.AddRecipient Request.Form("ToName"), Request.Form("ToAddress")mail.Subject = Request.Form ("Subject")mail.BodyText = Request.Form ("MsgBody")

根据需要,在设置组件属性的时候,你可以使用任何静态的和动态的混合数据。例如:你要发送一个email给一个单一用户。这种情况下你可以如下更改代码:

mail.AddRecipient "John Smith", "jsmith@halcyonsoft.com"mail.Subject = Request.QueryString("Subject")mail.BodyText = Request.QueryString("MsgBody")

普通的表单(Form)处理

Up

在某些情况下用户需要在同一段代码使用大量不同的表单来发送email。iASP让你可以循环通过在每一个BodyText属性中分配的变量后附加一个QueryString 或Form 的变量。请注意:iASP_Mail不能控制这些变量返回的顺序。这是ASP的一个功能,而不是iASP_Mail的功能。ASP可以携带这些变量并创建适当的Request集(QueryString 或 Form),并可存储数据以至iASP_Mail不能改变。如果你使用这个方法你必须接受ASP的顺序。

strMsgHeader = "Form information follows" & vbCrLffor each qryItem in Request.QueryString strMsgInfo = strMsgInfo & qryItem & " - " & request.querystring(qryItem) & vbCrLfnextstrMsgFooter = vbCrLf & "End of form information"mail.BodyText = strMsgHeader & strMsgInfo & strMsgFooter

设置邮件的优先级

Up

可以更改一对标题(header)来设置message属性。

Priority 属性设置优先级的范围为1-5。1代表优先级高,3代表优先级正常,5的优先级最底。另外,你可以设置你当前属性的优先级。当前属性为true/false属性。

如何使用 DateTime 属性

Up

iASP_mail组件创建了一个消息的Date/Time值,它是基于GMT时间(格林尼治标准时间)计算的。DateTime属性的添加允许用户设置一个自定义的Date/Time时区。以下代码示范了如何设置Date/Time为美国中心的标准时间。稍微改变以下代码你可以调整为你自己的时区。

function DayName (intDay) select case intDay case 1 DayName = "Sun" case 2 DayName = "Mon" case 3 DayName = "Tue" case 4 DayName = "Wed" case 5 DayName = "Thu" case 6 DayName = "Fri" case 7 DayName = "Sat" end selectend functionfunction MonthName (intMonth) select case intMonth case 1 MonthName = "Jan" case 2 MonthName = "Feb" case 3 MonthName = "Mar" case 4 MonthName = "Apr" case 5 MonthName = "May" case 6 MonthName = "Jun" case 7 MonthName = "Jul" case 8 MonthName = "Aug" case 9 MonthName = "Sep" case 10 MonthName = "Oct" case 11 MonthName = "Nov" case 12 MonthName = "Dec" end selectend function[set other mail properties]mail.DateTime = DayName (WeekDay(Date)) & ", " & Day(Date) & " " & MonthName(Month(Date)) & " " & Year(Date) & " " & FormatDateTime(Now, 4) & " -0600 (CST)"mail.SendMail

创建 Mail 对象的注意事项

Up

你可以在两个不同的时间创建mail对象: 发送email前 在session范围内并保存为一个session对象

你可以决定什么时候、什么地方适合创建基于你特殊应用程序的对象。如果你不知道用哪个方法来创建对象,或者典型的用法,你可以在发送email前创建对象。你的代码将如下:

Set mail = Server.CreateObject("SMTPsvg.Mailer")... [Set properties]if mail.SendMail then ...

创建这些本地所涉及的,如前所说,可同时在多应用程序线程上使用对象。

在sessin中创建一个对象,代码如下:

if Not IsObject (session("Mailer")) then Set mail = Server.CreateObject("SMTPsvg.Mailer") Set session("Mailer") = mailelse Response.write "Cached session object reference being used

" Set mail = session("Mailer")end if

多主机支持

Up

iASP_Mail提供了一个主机属性来设立远程SMTP服务器地址。RemoteHost的属性可以设置为你的一级和二级服务器地址(用分号隔开)。一级服务器关闭时,iASP_mail将使用二级服务器。例如:

mail.RemoteHost = "mailhost.halcyonsoft.com;mailhost.anotherisp.com"

关于升级

Up

最新版本的组件可从http://www.halcyonsoft.com/得到。 如果升级需要费用,页面回显示。

iASP_Mail 组件

Up

属性

描述BodyText消息的文本。使用ClearBodyText方法可以清除文本。CharSet字符设置,字符的默认设置为US Ascii。

有效参数: 1 = US Ascii 2 = ISO-8859-1 ConfirmReadConfirmReading标记。如果此属性设置为true并且recipients email支持此特征(已经被激活),recipients email程序将发送一个信息返回到FromAddress,以确定此邮件已经被读过了。ContentTypeContentType属性允许你设置消息文本的ContentType 标题。 例如,你想发送HTML作为消息体的内容类型(contentype)。你可以设置ContentType="text/HTML",则email程序就可以支持HTML内容并能正确地显示HTML文本。

注意事项: ContentType的属性在你有附件时被忽略。CustomCharSet如果你想使用字符类型设置,你可以设置CustomCharSet为一个字符设置串。DateTime使用GMT(格林尼治标准时间),iASP_Mail将默认地为你的系统创建一个Date/Time标题。 如果你想覆盖原有的Date/Time设置,可以通过RFC 822 & RFC 1123来定义。Encoding不支持Expires如果此组件是一个赋值的版本,则expire(期满)属性将返回此组件退出功能的时间。FromName消息创建人的名字。FromAddress消息创建人的email地址IgnoreMalformedAddress默认值为false。当其设置为false时,iASP_Mail将检验email地址中的'@',以便调用AddRecipient,AddCC和AddBCC。这时将在Response属性中返回一个错误。如果此属性设置为true,iASP_Mail将不会执行任何地址语法的确认。如果你想通过SMS网关或者传真系统,使用iASP_Mail来发送一个消息,你需要设置此属性为true。IgnoreRecipientErrors默认值为true。如果为true,iASP_Mail将忽略错误消息并通过SMTP服务器返回无效的地址。当一个邮件的地址忙于请求的时候,此属性非常有用。Live不支持Organization在消息中设置组织标题PGPPath不支持PGPParams不支持Priority设置消息的优先级。优先级为1-5并在X-priority对应相应的值。

有效地值: 1 = 高 3 = 中 5 = 低 RemoteHost将通过其发送消息的远程SMTP主机。这是一个典型的SMTP服务器,它可以位于你的本地ISP中,或者它可以是一个internal上的SMTP服务器,而位于你的companies premises中。以上三个服务器地址可以被指定(以逗号隔开)。如果一级服务器关闭了,则组件将使用二级服务器发送。以此类推。ReplyToReplyTo 属性允许你指定一个不同的email地址来回复。默认地,邮件程序都使用这样的回复:指定哪个标题就回复哪个标题。ResponseResponse 属性返回任何消息可能发生的错误。ReturnReceiptReturnReceipt标记。如果此属性设置为true并且容器SMTP服务器支持此特性,则容器SMTP服务器将发送一个信息给FromAddress来确认此email已经被释放。SMTPLog如果你需要调试一个log文件,请确认IUSR_XYZ IIS用户由此安全性,可以允许组件写此文件。警告:当多个用户同时访问此组件时,不要使用此设置。它只在单用户调试的时候使用。Subject消息主题SuppressMsgBodySuppressMsgBody属性默认为true, 它和SMTPLog属性联合使用。当SMTPLog设置为一个文件并且SuppreMsgBody为true时,log文件便可收到一个消息文本的备份。如果SuppressMsgBody为false,则消息文本不发送给log。TimeOutTimeout 是iASP_Mail等待一个来自远程服务器的响应的最长时间。默认值为30秒。Urgent在输出消息中可以通过urgent 标记设置X-Urgent标题,不是所有的邮件阅读器都支持此标记。UseMSMailHeaders MS-Mail 属性标题,默认地,除了标准的SMTP优先标题,可发送此标题。通过此属性你可以关闭MS-Mail。Version得到internal组件的版本号。wordWrapwordWrap 属性默认为off。设置wordWrap为true使得消息体的wordWrap在wordWraplen属性指定的位置。wordWrapLenwordWrapLen 属性默认设置为70。你可以通过改变它的值来更改wordwrap发生的位置。

iASP_Mail 组件方法

Up

方法

参数

返回值

描述SendMail无True or FalseSendMail 方法将发送 email。AddRecipientmail.AddRecipient "Jay Jones", "jayj@halcyonsoft.com"True/False based upon success or failure.添加一个新的容器,作为消息中To:的列表。ClearRecipients无无清除 To 列表中所有的容器。AddCCmail.AddCC "Jay Jones", "jayj@halcyonsoft.com"True/False based upon success or failure.添加一个新的容器,作为消息中CC 列表。ClearCCs无无清除CC 列表中所有的容器。AddBCCmail.AddBCC "Jay Jones", "jayj@halcyonsoft.com"True/False based upon success or failure.添加一个新的 BCC 容器,它不显示在任何消息容器列表中。ClearBCCs无无清除BCC 列表中所有的容器。ClearAllRecipients无无清除To、CC和BCC 列表中所有的容器。AddAttachment附加到消息的文件名。N/A给当前的邮件添加附件。你必须使用一个清除的路径来附加文件。ClearAttachments无无清除以前设置的所有附件。ClearBodyText无无清除消息体中已经使用BodyText 属性设置过的所有文本。ClearExtraHeaders无无清除通过AddExtraheader设置过的所有X-Headers。AddExtraHeader建立一个正确的SMTP X-Header的一个字符串值。True or false. Returns true if X-Header was added.添加另外的X-Headers到邮件信封上。GetBodyTextFromFileA String value of pathname,A boolean value (optional) for erase.A boolean value (optional) for showwindow.无从一个文件中载入消息的文本。随意运行PGP在消息文本上。EncodeHeaderstrValuestrValue encoded as String编码一个字符串为RFC1522格式,就像8bit的主题标题一样提供8bit的邮件标题。GetTempPathN/AstrPath返回通过OS设为临时邮件文件路径。

如果您需要技术支持,请将您问题的详细情况发给: support@halcyonsoft.com.

责任编辑:admin
相关文章