欢迎光临
我们一直在努力

iASP_Mail 组件介绍见内

建站超值云服务器,限时71元/月

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 安转

up

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

简单的邮件实例

up

使用组件非常简单,你只要按照以下步骤即可:

  1. 创建一个对象
  2. 设置某些属性
  3. 调用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方法(即:<form action="/scripts/iasp_mail.asp" method=get>)的请求,便提供了请求者的email地址,消息文本的主题,如:

mail.addrecipient request.querystring("toname"), request.querystring("toaddress")mail.subject   =  request.querystring("subject")mail.bodytext  = request.querystring("msgbody")

from表单也可以使用post方法(即:<form action="/scripts/iasp_mail.asp" method=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属性中分配的变量后附加一个querystringform 的变量。请注意: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<p>"  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
confirmread confirmreading标记。如果此属性设置为true并且recipients email支持此特征(已经被激活),recipients email程序将发送一个信息返回到fromaddress,以确定此邮件已经被读过了。
contenttype contenttype属性允许你设置消息文本的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中。以上三个服务器地址可以被指定(以逗号隔开)。如果一级服务器关闭了,则组件将使用二级服务器发送。以此类推。
replyto replyto 属性允许你指定一个不同的email地址来回复。默认地,邮件程序都使用这样的回复:指定哪个标题就回复哪个标题。
response response 属性返回任何消息可能发生的错误。
returnreceipt returnreceipt标记。如果此属性设置为true并且容器smtp服务器支持此特性,则容器smtp服务器将发送一个信息给fromaddress来确认此email已经被释放。
smtplog 如果你需要调试一个log文件,请确认iusr_xyz iis用户由此安全性,可以允许组件写此文件。警告:当多个用户同时访问此组件时,不要使用此设置。它只在单用户调试的时候使用。
subject 消息主题
suppressmsgbody suppressmsgbody属性默认为true, 它和smtplog属性联合使用。当smtplog设置为一个文件并且suppremsgbody为true时,log文件便可收到一个消息文本的备份。如果suppressmsgbody为false,则消息文本不发送给log。
timeout timeout 是iasp_mail等待一个来自远程服务器的响应的最长时间。默认值为30秒。
urgent 在输出消息中可以通过urgent 标记设置x-urgent标题,不是所有的邮件阅读器都支持此标记。
usemsmailheaders ms-mail 属性标题,默认地,除了标准的smtp优先标题,可发送此标题。通过此属性你可以关闭ms-mail。
version 得到internal组件的版本号。
wordwrap wordwrap 属性默认为off。设置wordwrap为true使得消息体的wordwrap在wordwraplen属性指定的位置。
wordwraplen wordwraplen 属性默认设置为70。你可以通过改变它的值来更改wordwrap发生的位置。

iasp_mail 组件方法

up
方法 参数 返回值 描述
sendmail true or false sendmail 方法将发送 email。
addrecipient mail.addrecipient "jay jones", "jayj@halcyonsoft.com" true/false based upon success or failure. 添加一个新的容器,作为消息中to:的列表。
clearrecipients 清除 to 列表中所有的容器。
addcc mail.addcc "jay jones", "jayj@halcyonsoft.com" true/false based upon success or failure. 添加一个新的容器,作为消息中cc 列表。
clearccs 清除cc 列表中所有的容器。
addbcc mail.addbcc "jay jones", "jayj@halcyonsoft.com" true/false based upon success or failure. 添加一个新的 bcc 容器,它不显示在任何消息容器列表中。
clearbccs 清除bcc 列表中所有的容器。
clearallrecipients 清除toccbcc 列表中所有的容器。
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到邮件信封上。
getbodytextfromfile a string value of pathname,a boolean value (optional) for erase.a boolean value (optional) for showwindow. 从一个文件中载入消息的文本。随意运行pgp在消息文本上。
encodeheader strvalue strvalue encoded as string 编码一个字符串为rfc1522格式,就像8bit的主题标题一样提供8bit的邮件标题。
gettemppath n/a strpath 返回通过os设为临时邮件文件路径。

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » iASP_Mail 组件介绍见内
分享到: 更多 (0)

相关推荐

  • 暂无文章