人妻无码中文字幕永久在线,99RE6这里有精品热视频,国产成人综合色就色综合 ,蜜臀av在线观看

新聞建站cms系統(tǒng)、政府cms系統(tǒng)定制開發(fā)

廣州網(wǎng)站建設(shè)公司-閱速公司

asp.net新聞發(fā)布系統(tǒng)、報(bào)紙數(shù)字報(bào)系統(tǒng)方案
/
http://www.jdki.com.cn/
廣州網(wǎng)站建設(shè)公司
您當(dāng)前位置:首頁(yè)>ASP.NET MVC

ASP.NET MVC

JMail實(shí)現(xiàn)郵件發(fā)送的解決方案

發(fā)布時(shí)間:2009/4/28 11:59:14  作者:  閱讀:1585  

廣告:

W3 JMail 郵件組件是Dimac公司開發(fā)的用來完成郵件的發(fā)送、接收、加密和集群傳輸?shù)裙ぷ鞯。w3 Jmail組件是國(guó)際最為流行的郵件組件之一,當(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對(duì)象代替原來的單一對(duì)象Jmail.smtpmail發(fā)送郵件; 2、 w3 Jmail4.3組件一共有十多個(gè)對(duì)象(后面將詳細(xì)介紹)——這些對(duì)象中,絕大多數(shù)是針對(duì)Jmail.Message對(duì)象操作的; 3、 支持從POP3郵件服務(wù)器收取郵件; 4、 支持加密郵件的傳輸; 5、 快速發(fā)送,一次會(huì)話就完成郵件發(fā)送; 6、 還有一個(gè)特性就是可以使用w3 Jmail4.3組件的集群發(fā)送功能一次發(fā)送成千上萬個(gè)郵件,還可以通過郵件合并(mailmerge)對(duì)象來個(gè)性化郵件。 二、Jmail郵件組件的安裝及卸載: 1、 安裝 跟使用別個(gè)組件一樣,在使用Jmail郵件組件之前要先安裝或注冊(cè)該組件Jmail.dll。具體注冊(cè)方法,是先把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組件的對(duì)象(12個(gè)): 1、.POP3對(duì)象

屬性(或方法)

說明

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對(duì)象

屬性(或方法)

說明

Clear() 清除集合中的所有內(nèi)容,并不會(huì)刪除郵件服務(wù)器上的任何郵件。
Count():Integer 返回集合中記錄的數(shù)目:I=Messages.Count
Item(Index):Pointer 返回一個(gè)Message對(duì)象。Set oMsg=Messages.Item(0)

3、.Message對(duì)象

屬性(或方法)

說明

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è)空對(duì)象。
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對(duì)象。
LoadFromStream(Stream) 從數(shù)據(jù)庫(kù)流讀取數(shù)據(jù),該數(shù)據(jù)庫(kù)流必須符合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ò)誤號(hào)。
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è)置登錄帳號(hào)。
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)先級(jí):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對(duì)象

屬性(或方法)

描述

GetHeader(HeaderName):String 返回指定的郵件頭的值。
Text():String 返回所有的郵件頭的值。

5、 Recipients對(duì)象

屬性(或方法)

描述

Add(Value) 追加一個(gè)收件人到集合中。
Clear() 清除集合中的全部記錄。
Count():Integer 返回集合中收件人的總數(shù)。
Item(Index):Pointer 返回集合中的一個(gè)指定的收件人。

6、 Recipient對(duì)象

屬性(或方法)

描述

New(Name,Email,recipientType):Pointer 創(chuàng)建一個(gè)可以添加到收件人集合中Recipients的收件人。
Email():String 返回收件人的郵件。
Name():String 返回收件人的姓名。
ReType():Integer 返回收件人模式(收件人To=0,抄送CC=1,暗送BCC=2)。

7、 Attachments對(duì)象

屬性(或方法)

描述

Add(Attachment) 添加一個(gè)附件到集合。
Clear() 清除集合中的全部附件。
Count():Integer 返回集合中附件的總數(shù)。
Item(Index):Pointer 返回集合中指定的附件

8、 Attachment對(duì)象

屬性(或方法)

描述

New(FileName,ContentType,Data):Pointer 創(chuàng)建一個(gè)可以加入到Attachments集合的附件。如果指定Data的值,那么Jmail將創(chuàng)建一個(gè)以Data參數(shù)為內(nèi)容的自定義附件。
SaveToFile(FileName) 保存附件到硬盤。
ContentType():String 返回附件類型(ContentType)
Data():String 返回附件的內(nèi)容。
BinaryData():String 以二進(jìn)制模式返回附件的內(nèi)容。
IsInline():Boolean 如果附件被設(shè)置為可嵌入(inline),則返回True。
Name():String 返回附件的文件名稱。
Size():Integer 返回附件的大小。

9、 MailMerge對(duì)象

屬性(或方法)

描述

BulkMerge(RecordSet,enque,Maildestination) 參照郵件模板合并所有記錄,要指定使用的pickuo文件夾或郵件服務(wù)器。
Expand():Pointer 參照用戶指定的方式合并郵件模板(mailTemplate)。
ExpandFromRecordSet(RecordSet):Pointer 參照郵件模板(mailTemplate)合并ADO對(duì)象中的一例。
SetDebugMode(TestMailAddress,TestCount) 將郵件合并(mailMerge)設(shè)置為測(cè)試模式。
Item(VariableNmae):String 手工設(shè)置合并參數(shù)。注意:該功能不使用于ADO數(shù)據(jù)例的合并。
MailTemplate():Pointer 設(shè)置一個(gè)創(chuàng)建好的Message對(duì)象,這個(gè)對(duì)象將被作為郵件合并的模板。
MergeAttachments():Boolean 當(dāng)該屬性設(shè)置為 True時(shí),附件被作為郵件合并的一個(gè)選項(xiàng)。

10、 PGPKeys對(duì)象

屬性(或方法)

描述

Count():Integer 返回密碼的總數(shù)。
Item(Index):Pointer 返回PGPKey信息對(duì)象。

11、 PGPKeyInfo對(duì)象

屬性(或方法)

描述

KeyCreateDate():String 返回郵件密碼創(chuàng)建的時(shí)間。
KeyID():String 返回密碼的ID號(hào)。
KeyUser():String 返回創(chuàng)建密碼的用戶名。

12、 SpeedMailer對(duì)象

屬性(或方法)

描述

EnqueMail(FromEmail,RecipientEmails, Subject,Body,MsPickupdirectory) 添加一個(gè)郵件到發(fā)送隊(duì)列。內(nèi)容、主題等數(shù)據(jù)通過該方法的參數(shù)傳遞。
SendMail(FromEMail,RecipientEMails, Subject,Body,MailServers) 通過SMTP發(fā)送一封郵件。內(nèi)容、主題等數(shù)據(jù)通過該方法的參數(shù)傳遞。
SendXMLMail(XML) 關(guān)于該函數(shù)的用法請(qǐng)?jiān)L問:http://xml.dimac.net/namespace/jmail

四、利用Jmail4.3郵件組件發(fā)送郵件示例: 通過以上的介紹,相信讀者對(duì)Dimac W3 Jmail及其一些常用的對(duì)象已有了比較全面的了解。下面將通過一個(gè)例子來講解如何創(chuàng)建w3 Jmail對(duì)象,并使用它來創(chuàng)建一個(gè)新郵件,設(shè)置郵件的標(biāo)題、內(nèi)容等并發(fā)送該郵件。 JmailSend.ASP <%@Language=”VBScript”%> <% Response.Buffer=True ‘創(chuàng)建Jmail.Message對(duì)象實(shí)例oJmail Set oJmail=Server.CreateObject(“Jmail.Message”) ‘啟動(dòng)日志功能 oJmail.Logging=True ‘不將錯(cuò)誤返回給操作系統(tǒng) oJmail.Silent=True ‘設(shè)置郵件發(fā)送者的郵件地址 oJmail.From=”jackywen01@163.com” ‘設(shè)置郵件發(fā)送者的姓名 oJmail.FromName=”小虎” ‘設(shè)置接收郵件人的郵箱地址 oJmail.AddRecipient “yourfriend@163.com” ‘設(shè)置郵件標(biāo)題 oJmail.Subject=”郵件測(cè)試系統(tǒng)” ‘郵件正文 oJmail.Body=”朋友:”&vbCrLf&vbCrLf&”最近,我使用Jmail開發(fā)一個(gè)郵件發(fā)送系統(tǒng)。” ‘發(fā)送郵件,Mail.myDomain.com假設(shè)為SMTP服務(wù)器 oJmail.Send(“Mail.myDomain.com”) %> 接下來我們?cè)賮砜匆粋(gè)比較簡(jiǎn)單的郵件接收系統(tǒng)。這個(gè)例子的執(zhí)行過程,首先是從存放郵件的服務(wù)器上取出郵件,然后把它同附件一起顯示在Web也面上。 JmailReceipt.ASP <% @LANGUAGE=VBSCRIPT %>
<% Set pJmail = Server.CreateObject( "JMail.POP3" )
pJmail.Connect "username", "passWord", "mail.mydomain.com"
Response.Write( "你有 " & pJmail.count & " 封新郵件<br><br>" )
if pJmail.count > 0 then
Set msg = pJmail.Messages.item(1)
ReTo = ""
ReCC = ""
Set Recipients = msg.Recipients
separator = ", "
For i = 0 To Recipients.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 & ")" & separator
else
ReCC = ReTo & re.Name & "&nbsp;(" & re.EMail & ")" & separator
End If
Next
Function getAttachments()
Set Attachments = msg.Attachments
separator = ", "
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 )
getAttachments = getAttachments & "<a href="../../"/fujian/" &_
at.Name &""">" & at.Name & "(" & at.Size & " bytes)" &_
"</a>" & separator
Next
End Function %>
<HTML>
<body>
<TABLE>
<tr>
<td>主題</td>
<td><%= msg.Subject %></td>
</tr>
<tr>
<td>發(fā)件人</td>
<td><%= msg.FromName %></td>
</tr>
<tr>
<td>收件人</td>
<td><%= ReTO %></td>
</tr>
<tr>
<td>抄送人</td>
<td><%= ReCC %></td>
</tr>
<tr>
<td>附件</td>
<td><%= getAttachments %></td>
</tr>
<tr>
<td>正文</td>
<td><pre><%= msg.Body %></pre></td>
</tr>
</TABLE>
</body>
</HTML>
<%
end if
pJmail.Disconnect‘斷開POP3連接
%>

至此,一個(gè)簡(jiǎn)單的郵件發(fā)送和接收系統(tǒng)就開發(fā)完成了。至于有些網(wǎng)友要開發(fā)比較復(fù)雜的郵件系統(tǒng),可以結(jié)合以上所講的對(duì)象及其屬性方法來開發(fā),肯定會(huì)開發(fā)出功能強(qiáng)大齊全的郵件系統(tǒng)。

廣告:

相關(guān)文章
jmail
cms新聞系統(tǒng)購(gòu)買咨詢
掃描關(guān)注 廣州閱速軟件科技有限公司
掃描關(guān)注 廣州閱速科技