jmail.dll的使用

配置環境:.Net Framework 1.1,Imai8.02,w3Jmail4.3

實現過程:

不同於在Asp中使用Jmail,直接使用 Server.CreateObject("Jmail.Message")就可以了。在.Net環境中,需要進行設置。

1.安裝jmail4.3

2.找到jmail.dll(Program Files/Dimac/w3JMail4下)

3.執行Program Files/Microsoft Visual Studio .NET/FrameworkSDK/Bin/ildasm.exe(可使用Visual Studio .Net 2003 命令提示),

格式如下:tlbimp c:/Program Files/Dimac/w3JMail4/jmail.dll /out:myJmail.dll /namespace:myJmail

生成myJmail.dll後,copy到web的根目錄的bin目錄。在ASP.Net頁面中,用這個方法引用:

使用Jmail發送郵件很簡單,下面是相關代碼:

using jmail;

private void Page_Load(object sender, System.EventArgs e) //不一定是Load事件
{

   jmail.Message jmessage=new jmail.MessageClass(); 
   jmessage.Charset="GB2312";

   jmessage.From="[email protected]";   //發信地址
   jmessage.FromName= GMail同志" ;   //發信人

   jmessage.ReplyTo="[email protected]";   //回覆地址

   jmessage.Subject="這裏是標題"; //郵件標題
   jmessage.AddRecipient("[email protected]","",""); //爲收信人地址,後面兩個參數可爲空!

   //AddRecipient(emailAddress,recipientName,PGPKey) 
   //給郵件添加一個收件人。RecipientName和PGPKey是可選項,RecipientName爲收件人姓名,PGPKey給郵件加密。

   jmessage.Body= "這是郵件內容" ; //信件內容

   jmessage.MailServerUserName= "****" ;   //爲發信郵箱登陸的用戶名
   jmessage.MailServerPassWord= "*****" ;   //爲發信郵箱登陸的密碼

   jmessage.Send("10.0.***.**",false); //IP爲郵件服務器
   Response.Write ("email sent successfully!"); 
   jmessage.Close() ;

}

 

詳細介紹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 
返回郵件密碼創建的時間。

KeyID():String 
返回密碼的ID號。

KeyUser():String 
返回創建密碼的用戶名。


12、SpeedMailer對象

屬性(或方法) 
描述

EnqueMail(FromEmail,RecipientEmails,

Subject,Body,MsPickupdirectory) 
添加一個郵件到發送隊列。內容、主題等數據通過該方法的參數傳遞。

SendMail(FromEMail,RecipientEMails,

Subject,Body,MailServers) 
通過SMTP發送一封郵件。內容、主題等數據通過該方法的參數傳遞。

發佈了13 篇原創文章 · 獲贊 10 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章