用VB5.0設計E-Mail程序 |
前言 隨著計算機網絡的發展,人與人之間信息傳輸的時間大為縮短。許多文件都是以電子郵件的形式來傳送;通常使用過計算機的人,或多或少都會用到E-Mail來傳輸信息。本文將介紹如何用Microsoft MAPI (Messaging Application Program Interface)來設計Mail程序。首先用Visual Basic所提供的MAPISession control及MAPIMessage control 來設計Mail收發程序,然后用Microsoft Internet Explorer 3.0所提供的E-Mail程序來測試程序設計的正確性 MAPI簡介 MAPI接口是由微軟公司提供的一系列供使用者開發Mail、Scheduling、bulletin board、communication程序的編程接口。在使用MAPI設計程序時,首先必須在程序和MAPI之間建立一條或數條Session;當Session建立好之后,Client端程序就可以使用MAPI所提供的功能。 MAPI的功能主要分成三大部分:Address Books、Transport和Message Store。Address Books主要負責設置E-mail type、protocol等參數;Transport負責文件的發送和接收等功能;Message Store則負責發送接收等信息的處理。 說了這么多,MAPI接口好像很可怕。不過沒關系,Visual Basic所提供的MAPISession control及MAPIMessage control,已經將許多復雜的部分包裝成簡單 的property和功能,我們只需要對property及功能作一些簡單的設置,就可以寫一個mail發送和接收的程序。 以下筆者將用Visual Basic的MAPI control,來設計mail傳送和接收的程序。 E-mail發送部分 Step 1:設置Exchange各項參數 進入Exchange系統,選擇新增設置文件;屏幕上會顯示所需要的信息服務,選擇 Internet Mail。 將設置文件的名稱設為test。屏幕會顯示兩個選項,您可以選擇以modem方式,或以network方式連接。筆者所用的是Internet專線,所以選擇network;假若您是使用 PPP撥號方式連接Internet,就要選擇modem。 選擇network后,Exchange會要求我們輸入mail server的IP address。筆者現在所使用的 Mail server地址是202.96.128.111,在本程序中便將它設置為該地址。 接著將Transform message的模式設置為automatic,這樣當我們連接到Mail server 時,新的信息會自動download到local端。 接下來,將您所使用的Email address、full name、password、download path一步 一步設置好,這樣就完成了Exchange各項參數的設置。 Step 2:程序設計 在File選項中選擇New Project建立一個新的工程,這時屏幕上會看到許多選項,例如ActiveX Document.EXE、ActiveX Document.DLL、ActiveX.EXE、ActiveX Control等...,這時要選Standard.EXE。 在Project下,選擇Property屬性選項;在general選項下,將Project Name改為 email-send, 并將Form名稱及Caption更改為email-send 。 在屏幕的Form上加入一個MAPImessage control,取名為MAPIm1;加入一個MAPIsession control,取名為MAPIs1;加入三個textbox control,取名為subject、content、addr。并在三個textbox前各加入一個Label,將Caption分別改為subject、content、addr。 為方便讀者了解彼此關系,以下表解釋一遍: (TextBox) Name ----------------------------------------------------- subject(輸入信件標題) content(輸入信件內容) addr(輸入信件要傳送的位址) (Label) Caption ----------------------------------------------- subject(輸入信件標題提示) content(輸入信件內容提示) addr(輸入信件要傳送的位址提示) 將MAPIm1的各項property設置如下: download mail=TRUE logoUI= TRUE newsession=FALSE username="test" 這里將download mail設置為TRUE,當程序和mail server第一次連接時,會將新的mail download到local端。將logoUI設置為TRUE,則當您程序中logon名稱輸入錯誤時,系統會顯示一個Message Box來讓您輸入正確的名稱。由于這個程序僅使用到一條session,我們將它的值設置成FALSE。當然啦!如果您有許多session要建立的話,也可以將它設置成TRUE。username中所填的,是我們在Exchange中所新增的設置文件名稱;如果沒有填內容的話,系統將會顯示一些message box請您輸入文件。 在屏幕的Form上加入三個Button control,logon、logoff與send,分別將Caption 改為log on、log off、send。 (Button) Name Caption -------------------------------------------------------- logon(執行登入命令) logon logoff(執行登出命令) logoff send(執行傳出信件命令) send 在 logon_Click()中加入以下程序代碼,這個動作是使我們登錄到mail server。 MAPIS1.SignOn MAPIM1.SessionID = MS1.SessionID MsgBox "your id is" + Str(MS1.SessionID) MS1.SignOn是作登錄的動作。在登錄時,因為已經將MAPIm1 control的download mail屬性設置為TRUE,所以可以在屏幕上看到message box顯示系統正在download mail。登錄成功后,系統會傳回一個sessionID,將該ID填入MAPIM1的SessionID中,這樣就可以利用這條session來傳送E-mail。 在 logoff_Click()中加入以下程序代碼,這個動作是使我們離開mail server。 MAPIS1.SignOff 在 send_Click()中加入以下程序代碼,這個動作是使我們發送email。 MAPIM1.Compose MAPIM1.RecipDisplayName = addr.text MAPIM1.AddressResolveUI = True MAPIM1.MsgSubject = subject.text MAPIM1.MsgNoteText = content.text MAPIM1.Send MsgBox "you successful" Compose命令的主要目的,是使您可以改變RecipDisplayName的內容,將所需傳送的E-mail地址、主題、文章內容分別填入RecipDisplayName、MsgSubject、MsgNoteText,接著用send命令發送。 Step 3:用IE 3.0 Mail程序測試程序 執行上面設計的email-send程序。在subject textbox中填入"發信測試",在address textbox中填入gzsydici@public1.guangzhou.gd.cn,在content textbox中輸入要傳送的內容:"大家好!這是發信測試",接著按傳送。這樣信件就發送出去了! 執行IE 3.0選擇接收信件,在mail選項中選擇read mail。我們會在inbox中看到一封標題為"發信測試"的信件,接著我們看看它的內容,沒錯!那就是我們剛寄出的測試信。 E-mail接收部分 Step 1:程序設計 在File選項中選擇New Project建立一個新的工程。在屏幕上看到許多選項,如 ActiveX Document.EXE、ActiveX Document.DLL、ActiveX.EXE、ActiveX Control等,這時要選Standard.EXE。 接著在Project下,選擇Property屬性選項;在general選項下,將Project Name改為 email-get,并將FORM名稱及Caption更改為 email-get。 在屏幕的Form上加入一個MAPImessage control,取名為MAPIm1;加入一個 MAPIsession control,取名為MAPIs1;加入三個Textbox control,分別取名為 subject、content、indexno, 將其Caption改為mail-subject、mail-content、 indexno;并在TextBox前各加入一個Label control,將Caption分別改為subject、 content、indexno。 將MAPIm1的各項property設置如下: download mail=TRUE logoUI=TRUE newsession=FALSE username="test" 這些設置原理如同設計發送mail程序部分。接著,在屏幕的Form上加入一個Button control get-mail,將Caption改為get mail。如同發送mail 程序部分和mail server建立一條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命令,是將信件抓到系統存貯器的inbuffer中。我們將信件抓回來后,可以由 MsgCount property知道信件數量。接著可以用MsgIndex設置要看哪一封信件的內容、標題。 Stept 2:測試mail接收程序 首先用任何一種mail程序,任意書寫幾封信到mail server。在Form1的Caption中,我們會看到所接收的信件的數量。 執行上面設計的email-get程序,在indexno textbox中填入1。接著按get mail Button,這樣信件內容及標題就會顯示在content、subject兩個TextBox中。恭喜您成功了! |
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/
領測軟件測試網最新更新
關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月