国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

用VisualBasic5.0設(shè)計E-mail程序(MAPI)

2019-11-18 17:28:05
字體:
供稿:網(wǎng)友
前言
隨著計算機(jī)網(wǎng)絡(luò)的發(fā)展,人與人之間信息傳輸?shù)臅r間大為縮短。許多文件都是以電子郵件的形式來傳送;通常使用過計算機(jī)的人,或多或少都會用到E-Mail來傳輸信息。本文將介紹如何用MicrosoftMAPI(MessagingapplicationPRogramInterface)來設(shè)計Mail程序。首先用VisualBasic所提供的MAPIsessioncontrol及MAPIMessagecontrol來設(shè)計Mail收發(fā)程序,然后用MicrosoftInternetExplorer3.0所提供的E-Mail程序來測試程序設(shè)計的正確性。

MAPI簡介

MAPI接口是由微軟公司提供的一系列供使用者開發(fā)Mail、Scheduling、bulletinboard、communication程序的編程接口。在使用MAPI設(shè)計程序時,首先必須在程序和MAPI之間建立一條或數(shù)條Session;當(dāng)Session建立好之后,Client端程序就可以使用MAPI所提供的功能。

MAPI的功能主要分成三大部分:AddressBooks、Transport和MessageStore。AddressBooks主要負(fù)責(zé)設(shè)置E-mailtype、protocol等參數(shù);Transport負(fù)責(zé)文件的發(fā)送和接收等功能;MessageStore則負(fù)責(zé)發(fā)送接收等信息的處理。

說了這么多,MAPI接口好像很可怕。不過沒關(guān)系,VisualBasic所提供的MAPISessioncontrol及MAPIMessagecontrol,已經(jīng)將許多復(fù)雜的部分包裝成簡單的property和功能,我們只需要對property及功能作一些簡單的設(shè)置,就可以寫一個mail發(fā)送和接收的程序。

以下筆者將用VisualBasic的MAPIcontrol,來設(shè)計mail傳送和接收的程序。

E-mail發(fā)送部分

Step1:設(shè)置Exchange各項參數(shù)

進(jìn)入Exchange系統(tǒng),選擇新增設(shè)置文件;屏幕上會顯示所需要的信息服務(wù),選擇InternetMail。將設(shè)置文件的名稱設(shè)為test。屏幕會顯示兩個選項,您可以選擇以modem方式,或以network方式連接。筆者所用的是Internet專線,所以選擇network;假若您是使用PPP撥號方式連接Internet,就要選擇modem。選擇network后,Exchange會要求我們輸入mailserver的ipaddress。筆者現(xiàn)在所使用的Mailserver地址是202.96.128.111,在本程序中便將它設(shè)置為該地址。接著將Transformmessage的模式設(shè)置為automatic,這樣當(dāng)我們連接到Mailserver時,新的信息會自動download到local

端。

接下來,將您所使用的Emailaddress、fullname、passWord、downloadpath一步一步設(shè)置好,這樣就完成了Exchange各項

參數(shù)的設(shè)置。

Step2:程序設(shè)計

在File選項中選擇NewProject建立一個新的工程,這時屏幕上會看到許多選項,例如ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl等...,這時要選Standard.EXE。

在Project下,選擇Property屬性選項;在general選項下,將ProjectName改為email-send,并將Form名稱及Caption更改為email-send

在屏幕的Form上加入一個MAPImessagecontrol,取名為MAPIm1;加入一個MAPIsessioncontrol,取名為MAPIs1;加入三個textboxcontrol,取名為subject、content、addr。并在三個textbox前各加入一個Label,將Caption分別改為subject、content、addr。

為方便讀者了解彼此關(guān)系,以下表解釋一遍:

(TextBox)Name

subject(輸入信件標(biāo)題)

content(輸入信件內(nèi)容)

addr(輸入信件要傳送的位址)


--------------------------------------------------------------------------------



(Label)Caption

subject(輸入信件標(biāo)題提示)

content(輸入信件內(nèi)容提示)

addr(輸入信件要傳送的位址提示)

將MAPIm1的各項property設(shè)置如下:

downloadmail=TRUE

logoUI=TRUE

newsession=FALSE

username="test"

這里將downloadmail設(shè)置為TRUE,當(dāng)程序和mailserver第一次連接時,會將新的maildownload到local端。將logoUI設(shè)置為TRUE,則當(dāng)您程序中l(wèi)ogon名稱輸入錯誤時,系統(tǒng)會顯示一個MessageBox來讓您輸入正確的名稱。由于這個程序僅使用到一條session,我們將它的值設(shè)置成FALSE。當(dāng)然啦!如果您有許多session要建立的話,也可以將它設(shè)置成TRUE。username中所填的,是我們在Exchange中所新增的設(shè)置文件名稱;如果沒有填內(nèi)容的話,系統(tǒng)將會顯示一些messagebox請您輸入文件。在屏幕的Form上加入三個Buttoncontrol,logon、logoff與send,分別將Caption改為logon、logoff、send。

(Button)

NameCaption

logon(執(zhí)行登入命令)logon

logoff(執(zhí)行登出命令)logoff

send(執(zhí)行傳出信件命令)send

在logon_Click()中加入以下程序代碼,這個動作是使我們登錄到mailserver。

MAPIS1.SignOn

MAPIM1.SessionID=MS1.SessionID

MsgBox"youridis" Str(MS1.SessionID)

MS1.SignOn是作登錄的動作。在登錄時,因?yàn)橐呀?jīng)將MAPIm1control的downloadmail屬性設(shè)置為TRUE,所以可以在屏幕上看到messagebox顯示系統(tǒng)正在downloadmail。登錄成功后,系統(tǒng)會傳回一個sessionID,將該ID填入MAPIM1的SessionID中,這樣就可以利用這條session來傳送E-mail。

在logoff_Click()中加入以下程序代碼,這個動作是使我們離開mailserver。

MAPIS1.SignOff

在send_Click()中加入以下程序代碼,這個動作是使我們發(fā)送email。

MAPIM1.Compose

MAPIM1.RecipDisplayName=addr.text

MAPIM1.AddressResolveUI=True

MAPIM1.MsgSubject=subject.text

MAPIM1.MsgNoteText=content.text

MAPIM1.Send

MsgBox"yousuccessful"Compose命令的主要目的,是使您可以改變RecipDisplayName的內(nèi)容,將所需傳送的E-mail地址、主題、文章內(nèi)容分別填入RecipDisplayName、MsgSubject、MsgNoteText,接著用send命令發(fā)送。

Step3:用IE3.0Mail程序測試程序

執(zhí)行上面設(shè)計的email-send程序。在subjecttextbox中填入"發(fā)信測試",在addresstextbox中填入gzsydici@public1.guangzhou.gd.cn,在contenttextbox中輸入要傳送的內(nèi)容:"大家好!這是發(fā)信測試",接著按傳送。這樣信件就發(fā)送出去了!

執(zhí)行IE3.0選擇接收信件,在mail選項中選擇readmail。我們會在inbox中看到一封標(biāo)題為"發(fā)信測試"的信件,接著我們看看它的內(nèi)容,沒錯!那就是我們剛寄出的測試信。

E-mail接收部分

Step1:程序設(shè)計

在File選項中選擇NewProject建立一個新的工程。在屏幕上看到許多選項,如ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl等,這時要選Standard.EXE。

接著在Project下,選擇Property屬性選項;在general選項下,將ProjectName改為 email-get,并將FORM名稱及Caption更改為email-get。

在屏幕的Form上加入一個MAPImessagecontrol,取名為MAPIm

1;加入一個MAPIsessioncontrol,取名為MAPIs1;加入三個Textboxcontrol,分別取名為subject、content、indexno,將其Caption改為mail-subject、mail-content、indexno;并在TextBox前各加入一個Labelcontrol,將Caption分別改為subject、content、indexno。

將MAPIm1的各項property設(shè)置如下:

downloadmail=TRUE

logoUI=TRUE

newsession=FALSE

username="test"

這些設(shè)置原理如同設(shè)計發(fā)送mail程序部分。接著,在屏幕的Form上加入一個Buttoncontrolget-mail,將Caption改為getmail。如同發(fā)送mail程序部分和mailserver建立一條session。

在get-mail_Click()中加入以下程序代碼,這個動作是使我

們接收email。

MAPIM1.Fetch

Form1.Caption=MAPIM1.MsgCount

MAPIM1.MsgIndex=CINT(indexno.text)

subjec.Text=MM1.MsgNoteText
content.Text=MAPI1.MsgSubject

Fetch命令,是將信件抓到系統(tǒng)存貯器的inbuffer中。我們將信件抓回來后,可以由MsgCountproperty知道信件數(shù)量。接著可以用MsgIndex設(shè)置要看哪一封信件的內(nèi)容、標(biāo)題。

Stept2:測試mail接收程序

首先用任何一種mail程序,任意書寫幾封信到mailserver。在Form1的Caption中,我們會看到所接收的信件的數(shù)量。執(zhí)行上面設(shè)計的email-get程序,在indexnotextbox中填入1。接著按getmailButton,這樣信件內(nèi)容及標(biāo)題就會顯示在content、subject兩個TextBox中。恭喜您成功了!->


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 闽侯县| 杂多县| 哈尔滨市| 临潭县| 蒙阴县| 怀集县| 曲沃县| 奇台县| 炎陵县| 喜德县| 楚雄市| 综艺| 林甸县| 图们市| 镇平县| 班戈县| 科技| 衡南县| 诏安县| 丹寨县| 图木舒克市| 尼木县| 南丰县| 通化市| 濮阳市| 怀宁县| 无锡市| 美姑县| 宝应县| 新兴县| 理塘县| 山阳县| 扎赉特旗| 河北区| 赤峰市| 米泉市| 唐海县| 贵定县| 文水县| 鲁山县| 克拉玛依市|