W3 JMail 郵件組件是Dimac公司開發(fā)的用來完成郵件的發(fā)送、接收、加密和集群傳輸?shù)裙ぷ鞯摹3 Jmail組件是國際最為流行的郵件組件之一,當(dāng)今世界上絕大部分ASP程序員都在使用w3 Jmail組件構(gòu)建郵件發(fā)送系統(tǒng),那是因?yàn)閣3 Jmail組件使用了新的內(nèi)核技術(shù),使其更加可靠和穩(wěn)定。
一、下面向讀者介紹w3 Jmail4.3組件的新特性:
1、 w3 Jmail4.3組件重新設(shè)計(jì)了其內(nèi)部結(jié)構(gòu)——使用Message對象代替原來的單一對象Jmail.smtpmail發(fā)送郵件;
2、 w3 Jmail4.3組件一共有十多個(gè)對象(后面將詳細(xì)介紹)——這些對象中,絕大多數(shù)是針對Jmail.Message對象操作的;
3、 支持從POP3郵件服務(wù)器收取郵件;
4、 支持加密郵件的傳輸;
5、 快速發(fā)送,一次會(huì)話就完成郵件發(fā)送;
6、 還有一個(gè)特性就是可以使用w3 Jmail4.3組件的集群發(fā)送功能一次發(fā)送成千上萬個(gè)郵件,還可以通過郵件合并(mailmerge)對象來個(gè)性化郵件。
二、Jmail郵件組件的安裝及卸載:
1、 安裝
跟使用別個(gè)組件一樣,在使用Jmail郵件組件之前要先安裝或注冊該組件Jmail.dll。具體注冊方法,是先把Jmail.dll文件拷貝到硬盤的某一目錄下(如C:\Jmail\Jmail.dll),然后執(zhí)行命令Regsvr32 C:\Jmail\Jmail.dll即可。
2、 卸載
卸載組件是安裝組件的相反動(dòng)作,可以使用參數(shù)/U來卸載已安裝的組件,執(zhí)行命令Regsvr32 /U Jmail.dll即可。
三、詳細(xì)介紹W3 Jmail組件的對象(12個(gè)):
1、.POP3對象
屬性(或方法)
說明
Connect(Username,Password,Server,Port)
連接POP3服務(wù)器,斷口可選,默認(rèn)110。
DeleteMessages()
從郵件服務(wù)器上刪除所有郵件。
DeleteSingleMessage(MessageID)
從郵件服務(wù)器上刪除由MessageID指定的郵件。
Disconnect()
關(guān)閉跟郵件服務(wù)器的連接。
DownloadHeaders()
從郵件服務(wù)器上讀取所有的郵件頭并傳遞給Messages集合。
DownloadMessages()
從郵件服務(wù)器讀取所有郵件。
DownloadSingleHeader(MessageID)
從郵件服務(wù)器讀取指定的郵件頭并傳遞給Messages集合。
DownloadUnreadMessages()
從郵件服務(wù)器上讀取所有未讀郵件。
2、.Messages對象
屬性(或方法)
說明
Clear()
清除集合中的所有內(nèi)容,并不會(huì)刪除郵件服務(wù)器上的任何郵件。
Count():Integer
返回集合中記錄的數(shù)目:I=Messages.Count
Item(Index):Pointer
返回一個(gè)Message對象。Set oMsg=Messages.Item(0)
3、.Message對象
屬性(或方法)
說明
AddAttachment(FileName,isInline,ContentType):String
給郵件添加一個(gè)文件型的附件。isInline設(shè)置為True時(shí),添加的這個(gè)附件就是一個(gè)可嵌入的附件。
AddCustomAttachment(FileName,Data,isInline):String
給郵件添加一個(gè)自定義類型的附件。
AddHeader(Xheader,Value)
給郵件添加一個(gè)自定義郵件頭X-Header。
AddNativeHeader(Header,Value)
給郵件添加一個(gè)郵件頭。
AddRecipient(emailAddress,recipientName,PGPKey)
給郵件添加一個(gè)收件人。RecipientName和PGPKey是可選項(xiàng),RecipientName為收件人姓名,PGPKey給郵件加密。
AddRecipientBCC(emailAddress,PGPKey)
添加一個(gè)郵件暗送人(BCC)地址。
AddRecipientCC(emailAddress,recipientName,PGPKey)
給郵件添加一個(gè)郵件抄送人(CC)地址。
AddURLAttachment(bstrURL,bstrAttachAs,isInline,bstrAuth):String
從指定的URL下載文件并添加為郵件附件。參數(shù)bstrAttachAs是用來更改添加為郵件附件的文件名。
AppendBodyFromFile(FileName)
清除郵件正文,并把指定文件的內(nèi)容作為郵件正文。
AppendHTML(Text)
從郵件追加HTML格式正文,如例所示:Message. AppendHTML(“<H3>Hello Word</H3>”)
AppendText(Text)
向郵件添加文本正文。
Clear()
清除所有郵件消息,是成為一個(gè)空對象。
ClearAttachments()
清除附件列表。如:Message.ClearAttachments
ClearCustomHeaders()
清除所有自定義的郵件頭。
ClearRecipients()
清除所有收件人地址列表。
Close()
釋放Jmail與郵件服務(wù)器連接而使用的緩存(Cache)。
DecodeHeader(Header):String
輸出一個(gè)郵件頭消息。
ExtractEmailAddressesFromURL(bstrURL,bstrAuth)
從指定的網(wǎng)制(URL)讀取并添加郵件列表。
GetMessageBodyFromURL(同上)
刪除郵件正文并用指定的URL的內(nèi)容代替。
KeyInformation(keyIdentifier):pointer
返回一個(gè)PGPKey對象。
LoadFromStream(Stream)
從數(shù)據(jù)庫流讀取數(shù)據(jù),該數(shù)據(jù)庫流必須符合RFC822標(biāo)準(zhǔn)。
LogCustomMessage(Message)
給Jmail日志文件添加自定義日志。此函數(shù)只有在logging屬性被設(shè)置為True時(shí)有效。
Nq()
將郵件追加到發(fā)送隊(duì)列等待發(fā)送。
ParseMessage(MessageSource)
解析一個(gè)郵件,數(shù)據(jù)流必須符合RFC822格式標(biāo)準(zhǔn)。
SaveToStream(Stream)
保存郵件到數(shù)據(jù)流,數(shù)據(jù)流必須符合RFC822格式標(biāo)準(zhǔn)。
Send(MailServer,enque):Boolean
發(fā)送郵件。郵件服務(wù)器是一個(gè)描述郵件服務(wù)器名稱或地址的字符串,用戶名和密碼是可選項(xiàng)。當(dāng)要發(fā)送認(rèn)證郵件時(shí)使用格式為:用戶名:密碼@郵件服務(wù)器
SendToNewsGroup(ServerName,NewsGroup)
使用指定的NNTP服務(wù)器發(fā)送郵件到新聞組,多個(gè)郵件用“,”隔開。
About():string
設(shè)置一些附加信息。
Attachments():Pointer
返回郵件的附件集合。Set Attachments=Message.Attachments
Body():String
返回郵件正文。Response.Write (Message.Body)
BodyText():String
返回全部的文本正文。Response.Write (Message.BodyText)
Charset():String
設(shè)置郵件使用的字符集。默認(rèn)為US-ASCII,支持中文則設(shè)置為GB2312。
ContentTransferEncoding():String
設(shè)置郵件編碼。默認(rèn)為:Quoted-Printable.
ContentType():string
返回正文類型。
Date():Date
返回郵件發(fā)送時(shí)間。
DeferredDelivery():Date
設(shè)置郵件定時(shí)發(fā)送。
Encoding():String
設(shè)置附件的默認(rèn)編碼:Base64或Quoted-Printable
EncryptAttachments():Boolean
設(shè)置為True時(shí),所有的附件都被加密,當(dāng)然是編譯器可用的情況下。其默認(rèn)值為True.
ErrorCode():Integer
如果message.silent設(shè)置為True時(shí),該函數(shù)包含錯(cuò)誤號。
ErroeMessage():String
如果message.silent設(shè)置為True時(shí),該函數(shù)包含錯(cuò)誤描述。
ErroeSource():String
如果message.silent設(shè)置為True時(shí),該函數(shù)包含錯(cuò)誤來源。
From():String
返回或設(shè)置發(fā)件人的Email地址。
FromName():String
返回或設(shè)置發(fā)件人的名字。
HtmlBody():String
返回或設(shè)置郵件正文的HTML部分。
ISOEncodeHeaders():Boolean
郵件頭是否使用iso-8859-1編碼。(默認(rèn)為True)
Log():String
當(dāng)Logging為True時(shí),該函數(shù)返回創(chuàng)建的日志。
Logging():Boolean
是否啟用日志。Message.Logging=True時(shí),啟用日志。
MailData():String
返回郵件的源代碼。
MailDomain():String
設(shè)置發(fā)送郵件時(shí)使用的郵件服務(wù)器。
MailServerPassWord():String
當(dāng)郵件服務(wù)器使用SMTP發(fā)信認(rèn)證時(shí),該函數(shù)設(shè)置登錄密碼。
MailServerUserName():String
當(dāng)郵件服務(wù)器使用SMTP發(fā)信認(rèn)證時(shí),該函數(shù)設(shè)置登錄帳號。
MimeVersion():String
聲明Mime版本,默認(rèn)為1.0。
MsPickupdirectory():String
指定MS SMTP服務(wù)的Pickup文件夾的位置。
PGPEncrypt():Boolean
當(dāng)郵件是使用PGP發(fā)送時(shí)并該屬性被設(shè)置為True時(shí),該郵件將被自動(dòng)加密。
PGPSign():Boolean
當(dāng)郵件是使用PGP發(fā)送時(shí)并該屬性被設(shè)置為True時(shí),該郵件將被自動(dòng)簽名。
Priority():Byte
設(shè)置郵件的優(yōu)先級:1、2和3
Recipients():Pointer
返回收件人集合。
RecipientsString():String
返回收件人集合(只讀)。
ReplyTo():String
指定一個(gè)回復(fù)地址。
Silent():Boolean
當(dāng)設(shè)置為True時(shí),Send()方法就會(huì)忽略錯(cuò)誤并不將錯(cuò)誤信息返回給操作系統(tǒng)。
SimpleLayout():Boolean
當(dāng)設(shè)置為True時(shí),發(fā)信時(shí)Jmail不會(huì)添加郵件頭到郵件里。
Size():Integer
返回郵件的總字節(jié)數(shù)。
Subject():String
設(shè)置郵件標(biāo)題。
Text():string
返回完整的郵件內(nèi)容。
Version():String
返回Jmal的版本信息。
4、 Headers對象
屬性(或方法)
描述
GetHeader(HeaderName):String
返回指定的郵件頭的值。
Text():String
返回所有的郵件頭的值。
5、 Recipients對象
屬性(或方法)
描述
Add(Value)
追加一個(gè)收件人到集合中。
Clear()
清除集合中的全部記錄。
Count():Integer
返回集合中收件人的總數(shù)。
Item(Index):Pointer
返回集合中的一個(gè)指定的收件人。
6、 Recipient對象
屬性(或方法)
描述
New(Name,Email,recipientType):Pointer
創(chuàng)建一個(gè)可以添加到收件人集合中Recipients的收件人。
Email():String
返回收件人的郵件。
Name():String
返回收件人的姓名。
ReType():Integer
返回收件人模式(收件人To=0,抄送CC=1,暗送BCC=2)。
7、 Attachments對象
屬性(或方法)
描述
Add(Attachment)
添加一個(gè)附件到集合。
Clear()
清除集合中的全部附件。
Count():Integer
返回集合中附件的總數(shù)。
Item(Index):Pointer
返回集合中指定的附件。