JMail實現(xiàn)郵件發(fā)送的解決方案_第1頁
JMail實現(xiàn)郵件發(fā)送的解決方案_第2頁
JMail實現(xiàn)郵件發(fā)送的解決方案_第3頁
JMail實現(xiàn)郵件發(fā)送的解決方案_第4頁
JMail實現(xiàn)郵件發(fā)送的解決方案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、JMail實現(xiàn)郵件發(fā)送的解決方案星云電腦教程 文章來源:BK 作者:未知 更新時間:2006-9-2 9:24:34 【 有問必答 】W3 JMail 郵件組件是Dimac公司開發(fā)的用來完成郵件的發(fā)送、接收、加密和集群傳輸?shù)裙ぷ鞯摹3 Jmail組件是國際最為流行的郵件組件之一,當今世界上絕大部分ASP程序員都在使用w3 Jmail組件構(gòu)建郵件發(fā)送系統(tǒng),那是因為w3 Jmail組件使用了新的內(nèi)核技術(shù),使其更加可靠和穩(wěn)定。一、下面向讀者介紹w3 Jmail4.3組件的新特性:1、   w3 Jmail4.3組件重新設計了其內(nèi)部結(jié)構(gòu)使用Message對象代替原來的單一對象Jm

2、ail.smtpmail發(fā)送郵件;2、   w3 Jmail4.3組件一共有十多個對象(后面將詳細介紹)這些對象中,絕大多數(shù)是針對Jmail.Message對象操作的;3、   支持從POP3郵件服務器收取郵件;4、   支持加密郵件的傳輸;5、   快速發(fā)送,一次會話就完成郵件發(fā)送;6、   還有一個特性就是可以使用w3 Jmail4.3組件的集群發(fā)送功能一次發(fā)送成千上萬個郵件,還可以通過郵件合并(mailmerge)對象來個性化郵件。二、Jmail郵件組件的安裝及卸載:1、 

3、60; 安裝跟使用別個組件一樣,在使用Jmail郵件組件之前要先安裝或注冊該組件Jmail.dll。具體注冊方法,是先把Jmail.dll文件拷貝到硬盤的某一目錄下(如C:JmailJmail.dll),然后執(zhí)行命令Regsvr32 C:JmailJmail.dll即可。2、   卸載卸載組件是安裝組件的相反動作,可以使用參數(shù)/U來卸載已安裝的組件,執(zhí)行命令Regsvr32 /U Jmail.dll即可。三、詳細介紹W3 Jmail組件的對象(12個):1、.POP3對象屬性(或方法)說明Connect(Username,PassWord,Server,Port)連接POP

4、3服務器,斷口可選,默認110。DeleteMessages()從郵件服務器上刪除所有郵件。DeleteSingleMessage(MessageID)從郵件服務器上刪除由MessageID指定的郵件。Disconnect()關(guān)閉跟郵件服務器的連接。 DownloadHeaders()從郵件服務器上讀取所有的郵件頭并傳遞給Messages集合。DownloadMessages()從郵件服務器讀取所有郵件。DownloadSingleHeader(MessageID)從郵件服務器讀取指定的郵件頭并傳遞給Messages集合。DownloadUnreadMessages()從郵件服務器上讀取所有未

5、讀郵件。 2、.Messages對象屬性(或方法)說明Clear()清除集合中的所有內(nèi)容,并不會刪除郵件服務器上的任何郵件。Count():Integer返回集合中記錄的數(shù)目:I=Messages.CountItem(Index):Pointer返回一個Message對象。Set oMsg=Messages.Item(0) 3、.Message對象屬性(或方法)說明AddAttachment():String給郵件添加一個文件型的附件。isInline設置為True時,添加的這個附件就是一個可嵌入的附件。AddCustomAttachment():String給郵件添加一個

6、自定義類型的附件。AddHeader(Xheader,Value)給郵件添加一個自定義郵件頭X-Header。AddNativeHeader(Header,Value)給郵件添加一個郵件頭。AddRecipient(emailAddress,recipientName,PGPKey)給郵件添加一個收件人。RecipientName和PGPKey是可選項,RecipientName為收件人姓名,PGPKey給郵件加密。AddRecipientBCC(emailAddress,PGPKey)添加一個郵件暗送人(BCC)地址。AddRecipientCC(emailAddress,recipient

7、Name,PGPKey)給郵件添加一個郵件抄送人(CC)地址。AddURLAttachment(bstrURL,bstrAttachAs,isInline,bstrAuth):String從指定的URL下載文件并添加為郵件附件。參數(shù)bstrAttachAs是用來更改添加為郵件附件的文件名。AppendBodyFrom)清除郵件正文,并把指定文件的內(nèi)容作為郵件正文。AppendHTML(Text)從郵件追加HTML格式正文,如例所示:Message. AppendHTML(“<H3>Hello Word</H3>”)AppendText(Text)向郵件添加文本正文。Cl

8、ear()清除所有郵件消息,是成為一個空對象。ClearAttachments()清除附件列表。如:Message.ClearAttachmentsClearCustomHeaders()清除所有自定義的郵件頭。ClearRecipients()清除所有收件人地址列表。Close()釋放Jmail與郵件服務器連接而使用的緩存(Cache)。DecodeHeader(Header):String輸出一個郵件頭消息。ExtractEmailAddressesFromURL(bstrURL,bstrAuth)從指定的網(wǎng)制(URL)讀取并添加郵件列表。GetMessageBodyFromURL(同上)

9、刪除郵件正文并用指定的URL的內(nèi)容代替。KeyInformation(keyIdentifier):pointer返回一個PGPKey對象。LoadFromStream(Stream)從數(shù)據(jù)庫流讀取數(shù)據(jù),該數(shù)據(jù)庫流必須符合RFC822標準。LogCustomMessage(Message)給Jmail日志文件添加自定義日志。此函數(shù)只有在logging屬性被設置為True時有效。Nq()將郵件追加到發(fā)送隊列等待發(fā)送。ParseMessage(MessageSource)解析一個郵件,數(shù)據(jù)流必須符合RFC822格式標準。SaveToStream(Stream)保存郵件到數(shù)據(jù)流,數(shù)據(jù)流必須符合RFC

10、822格式標準。Send(MailServer,enque):Boolean發(fā)送郵件。郵件服務器是一個描述郵件服務器名稱或地址的字符串,用戶名和密碼是可選項。當要發(fā)送認證郵件時使用格式為:用戶名:密碼郵件服務器SendToNewsGroup(ServerName,NewsGroup)使用指定的服務器發(fā)送郵件到新聞組,多個郵件用“,”隔開。About():string設置一些附加信息。Attachments():Pointer返回郵件的附件集合。Set Attachments=Message.AttachmentsBody():String返回郵件正文。Response.Write (Messa

11、ge.Body)1 2 3 下一頁 BodyText():String返回全部的文本正文。Response.Write (Message.BodyText)Charset():String設置郵件使用的字符集。默認為US-ASCII,支持中文則設置為GB2312。ContentTransferEncoding():String設置郵件編碼。默認為:Quoted-Printable.ContentType():string返回正文類型。Date():Date返回郵件發(fā)送時間。DeferredDelivery():Date設置郵件定時發(fā)送。Encoding():Str

12、ing設置附件的默認編碼:Base64或Quoted-PrintableEncryptAttachments():Boolean設置為True時,所有的附件都被加密,當然是編譯器可用的情況下。其默認值為True.ErrorCode():Integer如果message.silent設置為True時,該函數(shù)包含錯誤號。ErroeMessage():String如果message.silent設置為True時,該函數(shù)包含錯誤描述。ErroeSource():String如果message.silent設置為True時,該函數(shù)包含錯誤來源。From():String返回或設置發(fā)件人的Email地址。

13、FromName():String返回或設置發(fā)件人的名字。HTMLBody():String返回或設置郵件正文的HTML部分。ISOEncodeHeaders():Boolean郵件頭是否使用iso-8859-1編碼。(默認為True)Log():String當Logging為True時,該函數(shù)返回創(chuàng)建的日志。Logging():Boolean是否啟用日志。Message.Logging=True時,啟用日志。MailData():String返回郵件的源代碼。MailDomain():String設置發(fā)送郵件時使用的郵件服務器。MailServerPassWord():String當郵件服務

14、器使用SMTP發(fā)信認證時,該函數(shù)設置登錄密碼。MailServerUserName():String當郵件服務器使用SMTP發(fā)信認證時,該函數(shù)設置登錄帳號。MimeVersion():String聲明Mime版本,默認為1.0。MsPickupdirectory():String指定MS SMTP服務的Pickup文件夾的位置。PGPEncrypt():Boolean當郵件是使用PGP發(fā)送時并該屬性被設置為True時,該郵件將被自動加密。PGPSign():Boolean當郵件是使用PGP發(fā)送時并該屬性被設置為True時,該郵件將被自動簽名。Priority():Byte設置郵件的優(yōu)先級:1、

15、2和3Recipients():Pointer返回收件人集合。RecipientsString():String返回收件人集合(只讀)。ReplyTo():String指定一個回復地址。Silent():Boolean當設置為True時,Send()方法就會忽略錯誤并不將錯誤信息返回給操作系統(tǒng)。SimpleLayout():Boolean當設置為True時,發(fā)信時Jmail不會添加郵件頭到郵件里。Size():Integer返回郵件的總字節(jié)數(shù)。Subject():String設置郵件標題。Text():string返回完整的郵件內(nèi)容。Version():String 返回Jmal的版本信息。&

16、#160;    4、   Headers對象屬性(或方法)描述GetHeader(HeaderName):String返回指定的郵件頭的值。Text():String返回所有的郵件頭的值。 5、   Recipients對象屬性(或方法)描述Add(Value)追加一個收件人到集合中。Clear()清除集合中的全部記錄。Count():Integer返回集合中收件人的總數(shù)。Item(Index):Pointer返回集合中的一個指定的收件人。 6、   Recipient對象屬性(或方

17、法)描述New(Name,Email,recipientType):Pointer創(chuàng)建一個可以添加到收件人集合中Recipients的收件人。Email():String返回收件人的郵件。Name():String返回收件人的姓名。ReType():Integer返回收件人模式(收件人To=0,抄送CC=1,暗送BCC=2)。 7、   Attachments對象屬性(或方法)描述Add(Attachment)添加一個附件到集合。Clear()清除集合中的全部附件。Count():Integer返回集合中附件的總數(shù)。Item(Index):Pointer返回集合中

18、指定的附件。上一頁  1 2 3 下一頁 8、   Attachment對象屬性(或方法)描述New():Pointer創(chuàng)建一個可以加入到Attachments集合的附件。如果指定Data的值,那么Jmail將創(chuàng)建一個以Data參數(shù)為內(nèi)容的自定義附件。SaveTo)保存附件到硬盤。ContentType():String返回附件類型(ContentType)Data():String返回附件的內(nèi)容。BinaryData():String以二進制模式返回附件的內(nèi)容。IsInline():Boolean如果附件被設置為可嵌入(i

19、nline),則返回True。Name():String返回附件的文件名稱。Size():Integer返回附件的大小。 9、   MailMerge對象屬性(或方法)描述BulkMerge(RecordSet,enque,Maildestination)參照郵件模板合并所有記錄,要指定使用的pickuo文件夾或郵件服務器。Expand():Pointer參照用戶指定的方式合并郵件模板(mailTemplate)。ExpandFromRecordSet(RecordSet):Pointer參照郵件模板(mailTemplate)合并ADO對象中的一例。SetDeb

20、ugMode(TestMailAddress,TestCount)將郵件合并(mailMerge)設置為測試模式。Item(VariableNmae):String手工設置合并參數(shù)。注意:該功能不使用于ADO數(shù)據(jù)例的合并。MailTemplate():Pointer設置一個創(chuàng)建好的Message對象,這個對象將被作為郵件合并的模板。MergeAttachments():Boolean當該屬性設置為 True時,附件被作為郵件合并的一個選項。 10、   PGPKeys對象屬性(或方法)描述Count():Integer返回密碼的總數(shù)。Item(Index):Poi

21、nter返回PGPKey信息對象。 11、   PGPKeyInfo對象屬性(或方法)描述KeyCreateDate():String返回郵件密碼創(chuàng)建的時間。KeyID():String返回密碼的ID號。KeyUser():String返回創(chuàng)建密碼的用戶名。 12、   SpeedMailer對象屬性(或方法)描述EnqueMail(FromEmail,RecipientEmails,Subject,Body,MsPickupdirectory)添加一個郵件到發(fā)送隊列。內(nèi)容、主題等數(shù)據(jù)通過該方法的參數(shù)傳遞。SendMail(FromE

22、Mail,RecipientEMails,Subject,Body,MailServers)通過SMTP發(fā)送一封郵件。內(nèi)容、主題等數(shù)據(jù)通過該方法的參數(shù)傳遞。SendXMLMail(XML)關(guān)于該函數(shù)的用法請訪問: 四、利用Jmail4.3郵件組件發(fā)送郵件示例:通過以上的介紹,相信讀者對Dimac W3 Jmail及其一些常用的對象已有了比較全面的了解。下面將通過一個例子來講解如何創(chuàng)建w3 Jmail對象,并使用它來創(chuàng)建一個新郵件,設置郵件的標題、內(nèi)容等并發(fā)送該郵件。JmailSend.ASP<%Language=”VBScript”%><%Response.Buff

23、er=True創(chuàng)建Jmail.Message對象實例oJmailSet oJmail=Server.CreateObject(“Jmail.Message”)啟動日志功能oJmail.Logging=True不將錯誤返回給操作系統(tǒng)oJmail.Silent=True設置郵件發(fā)送者的郵件地址oJmail.From=”設置郵件發(fā)送者的姓名oJmail.FromName=”小虎”設置接收郵件人的郵箱地址oJmail.AddRecipient “yourfrien”設置郵件標題oJmail.Subject=”郵件測試系統(tǒng)”郵件正文oJmail.Body=”朋友:”&vbCrLf&vbC

24、rLf&”最近,我使用Jmail開發(fā)一個郵件發(fā)送系統(tǒng)。”發(fā)送郵件,假設為SMTP服務器oJmail.Send(“”)%>  接下來我們再來看一個比較簡單的郵件接收系統(tǒng)。這個例子的執(zhí)行過程,首先是從存放郵件的服務器上取出郵件,然后把它同附件一起顯示在Web也面上。JmailReceipt.ASP<% LANGUAGE=VBSCRIPT %><% Set pJmail = Server.CreateObject( "JMail.POP3" )pJmail.Connect "username", "

25、passWord", ""Response.Write( "你有 " & pJmail.count & " 封新郵件<br><br>" )if pJmail.count > 0 thenSet msg = pJmail.Messages.item(1) ReTo = ""ReCC = ""Set Recipients = msg.Recipientsseparator = ", "For i = 0 To Recipie

26、nts.Count - 1  If i = Recipients.Count - 1 Then    separator = ""  End If  Set re = Recipients.item(i)  If re.ReType = 0 Then    ReTo = ReTo & re.Name & "&nbsp;(" & re.EMail & &quo

27、t;)" & separator  else    ReCC = ReTo & re.Name & "&nbsp;(" & re.EMail & ")" & separator  End IfNextFunction getAttachments()  Set Attachments = msg.Attachments   separator = ", &quo

28、t;  For i = 0 To Attachments.Count - 1    If i = Attachments.Count - 1 Then      separator = ""    End If  Set at = Attachments(i)  at.SaveToFile( "c:fujian" & at.Name ) &

29、#160;getAttachments = getAttachments & "<a href="././"/fujian/" &_  at.Name &""">" & at.Name & "(" & at.Size & " bytes)" &_  "</a>" & separator  NextEnd Function%><HTML><body>&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論