用VB6編寫發送郵件的程序,有多種E-mail組件可供選擇,如MAPIMessages、IIS4.0附帶的CDONTS(NTSCollaborationDataObjects)以及許多第三方廠商開發的Email軟件等。本文介紹用CDONTS開發VB下的郵件程序方法。
1.確認已安裝SMTP服務器
首先,必須確認在IIS服務器上已安裝SMTP服務器,這是安裝OptionPack時被缺省安裝的選項。如果SMTP服務器已安裝,在System32目錄下會存在一個名為cdonts.dll的文件。
2.最簡單的郵件發送程序
以下是一個最簡單的郵件發送程序,它由
[email protected]向
[email protected]發出一封標題為“Title”、內容為“Hello”的E-mail:
PrivateSubcmdSendMail_Click()
DimobjMailasObject
SetobjMail=CreateObject("CDFONTS.DLL")
ObjMail.Send"
[email protected]","
[email protected]","Title","Hello"
SetobjMail=nothing
EndSub
3.發送郵件附件
如果有附加的文件需要隨同郵件傳送,可以使用CDONTS的AttachFile方法:
PrivateSubcmdSendMail_Click()
DimobjMailasObject
SetobjMail=CreateObject("CDFONTS.DLL")
WithObjMail
.From="
[email protected]"
.To="
[email protected]"
.Subject="Title"
.Body="Hello"
.AttachFile"c:documentsample.doc","sample.doc"
.Send
EndWith
SetobjMail=nothing
EndSub
4.CDONTS組件常用屬性和方法
CDONTS組件常用的屬性和方法列舉如下:
屬性:
Version:返回CDONTS組件的版本號
MailFormat:郵件格式,1-普通文本類型;0-MIME類型
Cc:設置一個或多個參閱的郵件地址
From:郵件發送者的地址
To:郵件接受者的地址
Subject:標題
Body:內容
BodyFormat:內容格式,1-普通文本;0-超文本
方法:
AttachFile:附加一個文件
AttachURL:附加一個地址
Send:發送郵件
5.發送超文本格式的E-mail
你一定見到過許多使用超文本格式的E-mail,其中不但可以有圖片、聲音,甚至還可以嵌入動畫。如果給你的朋友也發送一封這樣的郵件,一定會帶給他(她)意外的驚喜,因為這用一般的郵件發送程序是無能為力的。以下使用CDONTS組件發送一個HTML格式的郵件,其中包含有一幅名為sample.gif的圖片,程序如下:
PrivateSubcmdSendMail_Click()
DimobjMailasObject
SetobjMail=CreateObject("CDFONTS.DLL")
DimstrHTMLasString
StrHTML="〈html〉〈head〉"
StrHTML=StrHTML "〈title〉使用超文本格式的Email〈/title〉〈/head〉"
StrHTML=StrHTML "〈body〉〈p〉〈strong〉用CDONTS發送Email的例子"
StrHTML=StrHTML "〈imgsrc=sample.gif〉〈/strong〉〈/p〉"
StrHTML=StrHTML "〈p〉以上例子嵌入了圖片sample.gif〈/p〉"
StrHTML=StrHTML "〈/body〉〈/html〉"
WithObjMail
.From="
[email protected]"
.To="
[email protected]"
.Subject="Title"
.Body=strHTML
.AttachURL"c:mydatasample.gif","sample.gif"
.BodyFormat=0
.EmailFormat=0
.Send
EndWith
SetobjMail=nothing
EndSub
到這裡,相信大家一定發現SMTP郵件處理的一個缺陷了。SMTP服務器接收你的輸出消息,但並不做發送者名字和地址的驗證,這本是由SMTP的異步發送機制所決定的,但有人可能別有用心地用它來假扮別人發送郵件!本文強烈建議各位切勿輕易試用,一旦讓ISP知道你的行徑,你的帳號極可能會被立即刪除。->