• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    郵件客戶端程序的簡單開發

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網
    (周勇生 2001年07月25日 17:17)

    習慣了在別人開發的郵件客戶端程序來收發郵件后,自己也總想“打破常規”,弄點什么新穎的玩意兒來換換“口味”。于是一不做,二不休,自己開始琢磨著如何使用VB來設計一個簡單的郵件客戶端程序。下面就是筆者的一些設計思路,僅供大家參考。

    設計該程序的基本步驟為:首先使用微軟公司提供的MAPI接口在郵件程序中建立一條或數條Session;當Session建立好之后,Client端程序就可以使用MAPI所提供的功能。然后Visual Basic所提供的MAPI control,來設計mail傳送和接收的程序。在設置郵件的發送部分時,我們應該先進入Exchange設置界面,并選擇“新增”命令來添加一個設置文件;隨后根據屏幕上的提示,選擇“Inte.net Mail”設置項,并給設置文件取名為“888”;接著我們再依次設置好接入因特網的方式,輸入郵件服務器的地址、設定傳輸模式等參數,筆者在這里給出的參數是接入方式為network,郵件服務器的地址為168.160.128.10,傳輸模式設置為automatic。

    設定好郵件的相關參數后,接下來的工作就是使用VB來正式開始設計程序了。打開VB程序的操作界面,用鼠標選種File菜單項中的New Project來新建一個項目,然后在彈出的界面中選擇Standard.EXE選項。接著在Project菜單項下,選擇Property屬性選項;在general選項下,將Project Name改為send-email,并將Form名稱及Caption更改為send-email。隨后在屏幕的Form上加入一個MAPImessage control,取名為MAPIm1;加入一個MAPIsession control,取名為MAPIs1;加入三個textbox control,取名為subject、content、addr。并在三個textbox前各加入一個Label,將Caption分別改為subject、content、addr。接著我們再將MAPIm1的各項property設置如下:

    download mail=TRUE
    logoUI= TRUE
    newsession=FALSE
    username="888"


    這里將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。

    在 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()中加入以下程序代碼,這個動作是使我們發送郵件。

    MAPIM1.Compose
    MAPIM1.RecipDisplayName = addr.text
    MAPIM1.AddressResolveUI = True
    MAPIM1.MsgSubject = subject.text
    MAPIM1.MsgNoteText = content.text
    MAPIM1.Send
    MsgBox "successfully sending "


    該段代碼中的Compose命令主要是用來讓您可以改變RecipDisplayName的內容,將所需傳送的E-mail地址、主題、文章內容分別填入RecipDisplayName、MsgSubject、MsgNoteText,接著用send命令發送。

    好了,到了這里我們就把郵件的發送部分設計好了。下面我們再來談談如何設計郵件的接收部分。按照同樣的方法,在VB界面中,選擇File選項中的New Project,然后選擇“Standard.EXE”選項。接著在Project下,選擇Property屬性選項;在general選項下,將Project Name改為get-email,并將FORM名稱及Caption更改為get-email。下面,我們再在屏幕的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="888"


    隨后,我們在屏幕的Form上加入一個Buttoncontrol get-mail,將Caption改為get mail。如同發送mail 程序部分和mailserver建立一條session。

    在 get-mail_Click() 中加入以下程序代碼,這個動作是使我們接收郵件。

    MAPIM1.Fetch
    Form1.Caption=MAPIM1. MsgCount
    MAPIM1.MsgIndex=CINT(indexno.text)
    subjec.Text = MM1.MsgNoteText
    content.Text = MAPI1.MsgSubject


    其中Fetch命令是將信件取到系統存貯器的inbuffer中。我們將信件取回來后,可以由MsgCount property知道信件數量,接著可以用MsgIndex設置要看哪一封信件的內容、標題,這樣郵件的接受部分也就結束了。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>