|
W3 JMail 邮件组件是Dimac公司开发的用来完成邮件的发送、接收、加密和集群传输等工作的。w3 Jmail组件是国际最为流行的邮件组件之一,当今世界上绝大部分ASP程序员都在使用w3 Jmail组件构建邮件发送系统,那是因为w3 Jmail组件使用了新的内核技术,使其更加可靠和稳定。
一、下面向读者介绍w3 Jmail4.3组件的新特性:
1、 w3 Jmail4.3组件重新设计了其内部结构——使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件;
2、 w3 Jmail4.3组件一共有十多个对象(后面将详细介绍)——这些对象中,绝大多数是针对Jmail.Message对象操作的;
3、 支持从POP3邮件服务器收取邮件;
4、 支持加密邮件的传输;
5、 快速发送,一次会话就完成邮件发送;
6、 还有一个特性就是可以使用w3 Jmail4.3组件的集群发送功能一次发送成千上万个邮件,还可以通过邮件合并(mailmerge)对象来个性化邮件。
二、Jmail邮件组件的安装及卸载:
1、 安装
跟使用别个组件一样,在使用Jmail邮件组件之前要先安装或注册该组件Jmail.dll。具体注册方法,是先把Jmail.dll文件拷贝到硬盘的某一目录下(如C:\Jmail\Jmail.dll),然后执行命令Regsvr32 C:\Jmail\Jmail.dll即可。
2、 卸载
卸载组件是安装组件的相反动作,可以使用参数/U来卸载已安装的组件,执行命令Regsvr32 /U Jmail.dll即可。
三、详细介绍W3 Jmail组件的对象(12个):
1、.POP3对象
|
属性(或方法) |
说明 |
|
Connect(Username,Password,Server,Port) |
连接POP3服务器,断口可选,默认110。 |
|
DeleteMessages() |
从邮件服务器上删除所有邮件。 |
|
DeleteSingleMessage(MessageID) |
从邮件服务器上删除由MessageID指定的邮件。 |
|
Disconnect() |
关闭跟邮件服务器的连接。 |
|
DownloadHeaders() |
从邮件服务器上读取所有的邮件头并传递给Messages集合。 |
|
DownloadMessages() |
从邮件服务器读取所有邮件。 |
|
DownloadSingleHeader(MessageID) |
从邮件服务器读取指定的邮件头并传递给Messages集合。 |
|
DownloadUnreadMessages() |
从邮件服务器上读取所有未读邮件。 |
2、.Messages对象
|
属性(或方法) |
说明 |
|
Clear() |
清除集合中的所有内容,并不会删除邮件服务器上的任何邮件。 |
|
Count():Integer |
返回集合中记录的数目:I=Messages.Count |
|
Item(Index):Pointer |
返回一个Message对象。Set oMsg=Messages.Item(0) |
3、.Message对象
|
属性(或方法) |
说明 |
|
AddAttachment(FileName,isInline,ContentType):String |
给邮件添加一个文件型的附件。isInline设置为True时,添加的这个附件就是一个可嵌入的附件。 |
|
AddCustomAttachment(FileName,Data,isInline):String |
给邮件添加一个自定义类型的附件。 |
|
AddHeader(Xheader,Value) |
给邮件添加一个自定义邮件头X-Header。 |
|
AddNativeHeader(Header,Value) |
给邮件添加一个邮件头。 |
|
AddRecipient(emailAddress,recipientName,PGPKey) |
给邮件添加一个收件人。RecipientName和PGPKey是可选项,RecipientName为收件人姓名,PGPKey给邮件加密。 |
|
AddRecipientBCC(emailAddress,PGPKey) |
添加一个邮件暗送人(BCC)地址。 |
|
AddRecipientCC(emailAddress,recipientName,PGPKey) |
给邮件添加一个邮件抄送人(CC)地址。 |
|
AddURLAttachment(bstrURL,bstrAttachAs,isInline,bstrAuth):String |
从指定的URL下载文件并添加为邮件附件。参数bstrAttachAs是用来更改添加为邮件附件的文件名。 |
|
AppendBodyFromFile(FileName) |
清除邮件正文,并把指定文件的内容作为邮件正文。 |
|
AppendHTML(Text) |
从邮件追加HTML格式正文,如例所示:Message. AppendHTML(“<H3>Hello word</H3>”) |
|
AppendText(Text) |
向邮件添加文本正文。 |
|
Clear() |
清除所有邮件消息,是成为一个空对象。 |
|
ClearAttachments() |
清除附件列表。如:Message.ClearAttachments |
|
ClearCustomHeaders() |
清除所有自定义的邮件头。 |
|
ClearRecipients() |
清除所有收件人地址列表。 |
|
Close() |
释放Jmail与邮件服务器连接而使用的缓存(Cache)。 |
|
DecodeHeader(Header):String |
输出一个邮件头消息。 |
|
ExtractEmailAddressesFromURL(bstrURL,bstrAuth) |
从指定的网制(URL)读取并添加邮件列表。 |
|
GetMessageBodyFromURL(同上) |
删除邮件正文并用指定的URL的内容代替。 |
|
KeyInformation(keyIdentifier):pointer |
返回一个PGPKey对象。 |
|
LoadFromStream(Stream) |
从数据库流读取数据,该数据库流必须符合RFC822标准。 |
|
LogCustomMessage(Message) |
给Jmail日志文件添加自定义日志。此函数只有在logging属性被设置为True时有效。 |
|
Nq() |
将邮件追加到发送队列等待发送。 |
|
ParseMessage(MessageSource) |
解析一个邮件,数据流必须符合RFC822格式标准。 |
|
SaveToStream(Stream) |
保存邮件到数据流,数据流必须符合RFC822格式标准。 |
|
Send(MailServer,enque):Boolean |
发送邮件。邮件服务器是一个描述邮件服务器名称或地址的字符串,用户名和密码是可选项。当要发送认证邮件时使用格式为:用户名:密码@邮件服务器 |
|
SendToNewsGroup(ServerName,NewsGroup) |
使用指定的NNTP服务器发送邮件到新闻组,多个邮件用“,”隔开。 |
|
About():string |
设置一些附加信息。 |
|
Attachments():Pointer |
返回邮件的附件集合。Set Attachments=Message.Attachments |
|
Body():String |
返回邮件正文。Response.Write (Message.Body) | (接上篇)
|
BodyText():String |
返回全部的文本正文。Response.Write (Message.BodyText) |
|
Charset():String |
设置邮件使用的字符集。默认为US-ASCII,支持中文则设置为GB2312。 |
|
ContentTransferEncoding():String |
设置邮件编码。默认为:Quoted-Printable. |
|
ContentType():string |
返回正文类型。 |
|
Date():Date |
返回邮件发送时间。 |
|
DeferredDelivery():Date |
设置邮件定时发送。 |
|
Encoding():String |
设置附件的默认编码:Base64或Quoted-Printable |
|
EncryptAttachments():Boolean |
设置为True时,所有的附件都被加密,当然是编译器可用的情况下。其默认值为True. |
|
ErrorCode():Integer |
如果message.silent设置为True时,该函数包含错误号。 |
|
ErroeMessage():String |
如果message.silent设置为True时,该函数包含错误描述。 |
|
ErroeSource():String |
如果message.silent设置为True时,该函数包含错误来源。 |
|
From():String |
返回或设置发件人的Email地址。 |
|
FromName():String |
返回或设置发件人的名字。 |
|
HTMLBody():String |
返回或设置邮件正文的HTML部分。 |
|
ISOEncodeHeaders():Boolean |
邮件头是否使用iso-8859-1编码。(默认为True) |
|
Log():String |
当Logging为True时,该函数返回创建的日志。 |
|
Logging():Boolean |
是否启用日志。Message.Logging=True时,启用日志。 |
|
MailData():String |
返回邮件的源代码。 |
|
MailDomain():String |
设置发送邮件时使用的邮件服务器。 |
|
MailServerPassword():String |
当邮件服务器使用SMTP发信认证时,该函数设置登录密码。 |
|
MailServerUserName():String |
当邮件服务器使用SMTP发信认证时,该函数设置登录帐号。 |
|
MimeVersion():String |
声明Mime版本,默认为1.0。 |
|
MsPickupdirectory():String |
指定MS SMTP服务的Pickup文件夹的位置。 |
|
PGPEncrypt():Boolean |
当邮件是使用PGP发送时并该属性被设置为True时,该邮件将被自动加密。 |
|
PGPSign():Boolean |
当邮件是使用PGP发送时并该属性被设置为True时,该邮件将被自动签名。 |
|
Priority():Byte |
设置邮件的优先级:1、2和3 |
|
Recipients():Pointer |
返回收件人集合。 |
|
RecipientsString():String |
返回收件人集合(只读)。 |
|
ReplyTo():String |
指定一个回复地址。 |
|
Silent():Boolean |
当设置为True时,Send()方法就会忽略错误并不将错误信息返回给操作系统。 |
|
SimpleLayout():Boolean |
当设置为True时,发信时Jmail不会添加邮件头到邮件里。 |
|
Size():Integer |
返回邮件的总字节数。 |
|
Subject():String |
设置邮件标题。 |
|
Text():string |
返回完整的邮件内容。 |
|
Version():String |
返回Jmal的版本信息。 |
4、 Headers对象
|
属性(或方法) |
描述 |
|
GetHeader(HeaderName):String |
返回指定的邮件头的值。 |
|
Text():String |
返回所有的邮件头的值。 |
5、 Recipients对象
|
属性(或方法) |
描述 |
|
Add(Value) |
追加一个收件人到集合中。 |
|
Clear() |
清除集合中的全部记录。 |
|
Count():Integer |
返回集合中收件人的总数。 |
|
Item(Index):Pointer |
返回集合中的一个指定的收件人。 |
6、 Recipient对象
|
属性(或方法) |
描述 |
|
New(Name,Email,recipientType):Pointer |
创建一个可以添加到收件人集合中Recipients的收件人。 |
|
Email():String |
返回收件人的邮件。 |
|
Name():String |
返回收件人的姓名。 |
|
ReType():Integer |
返回收件人模式(收件人To=0,抄送CC=1,暗送BCC=2)。 |
7、 Attachments对象
|
属性(或方法) |
描述 |
|
Add(Attachment) |
添加一个附件到集合。 |
|
Clear() |
清除集合中的全部附件。 |
|
Count():Integer |
返回集合中附件的总数。 |
|
Item(Index):Pointer |
返回集合中指定的附件。 |
(未完待续)
8、 Attachment对象
|
属性(或方法) |
描述 |
|
New(FileName,ContentType,Data):Pointer |
创建一个可以加入到Attachments集合的附件。如果指定Data的值,那么Jmail将创建一个以Data参数为内容的自定义附件。 |
|
SaveToFile(FileName) |
保存附件到硬盘。 |
|
ContentType():String |
返回附件类型(ContentType) |
|
Data():String |
返回附件的内容。 |
|
BinaryData():String |
以二进制模式返回附件的内容。 |
|
IsInline():Boolean |
如果附件被设置为可嵌入(inline),则返回True。 |
|
Name():String |
返回附件的文件名称。 |
|
Size():Integer |
返回附件的大小。 |
9、 MailMerge对象
|
属性(或方法) |
描述 |
|
BulkMerge(RecordSet,enque,Maildestination) |
参照邮件模板合并所有记录,要指定使用的pickuo文件夹或邮件服务器。 |
|
Expand():Pointer |
参照用户指定的方式合并邮件模板(mailTemplate)。 |
|
ExpandFromRecordSet(RecordSet):Pointer |
参照邮件模板(mailTemplate)合并ADO对象中的一例。 |
|
SetDebugMode(TestMailAddress,TestCount) |
将邮件合并(mailMerge)设置为测试模式。 |
|
Item(VariableNmae):String |
手工设置合并参数。注意:该功能不使用于ADO数据例的合并。 |
|
MailTemplate():Pointer |
设置一个创建好的Message对象,这个对象将被作为邮件合并的模板。 |
|
MergeAttachments():Boolean |
当该属性设置为 True时,附件被作为邮件合并的一个选项。 |
10、 PGPKeys对象
|
属性(或方法) |
描述 |
|
Count():Integer |
返回密码的总数。 |
|
Item(Index):Pointer |
返回PGPKey信息对象。 |
11、 PGPKeyInfo对象
|
属性(或方法) |
描述 |
|
KeyCreateDate():String |
返回邮件密码创建的时间。 |
| |