用VB5.0設計E-Mail程式 (轉)
用VB5.0設計E-Mail程式 (轉)[@more@]
隨著的發展,人與人之間資訊傳輸的時間大為縮短。許多都是以電子的形式來傳送;通常使用過計算機的人,或多或少都會用到來傳輸資訊。本文將介紹如何用 M (Messaging Application Program Interface)來設計Mail程式。首先用所提供的MAPISession control及MAPIMessage control 來設計Mail收發程式,然後用Microsoft Inte 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,選擇新增設定檔案;螢幕上會顯示所需要的資訊服務,選擇 Internet Mail。
將設定檔案的名稱設為test。螢幕會顯示兩個選項,您可以選擇以modem方式,或以network方式連線。筆者所用的是Internet專線,所以選擇network;假若您是使用 PPP撥號方式連線Internet,就要選擇modem。
選擇network後,Exchange會要求我們輸入mail server的address。筆者現在所使用的 Mail server地址是202.96.128.111,在本程式中便將它設定為該地址。
接著將Tranomessage的設定為automatic,這樣當我們連線到Mail server
時,新的資訊會自動到local端。
接下來,將您所使用的 address、full name、pass、download path一步
一步設定好,這樣就完成了Exchange各項引數的設定。
Step 2:程式設計
在File選項中選擇New
Project建立一個新的工程,這時螢幕上會看到許多選項,例如 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:用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中。恭喜您成功了!
用VB5.0設計E-
前言隨著的發展,人與人之間資訊傳輸的時間大為縮短。許多都是以電子的形式來傳送;通常使用過計算機的人,或多或少都會用到來傳輸資訊。本文將介紹如何用 M (Messaging Application Program Interface)來設計Mail程式。首先用所提供的MAPISession control及MAPIMessage control 來設計Mail收發程式,然後用Microsoft Inte 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,選擇新增設定檔案;螢幕上會顯示所需要的資訊服務,選擇 Internet Mail。
將設定檔案的名稱設為test。螢幕會顯示兩個選項,您可以選擇以modem方式,或以network方式連線。筆者所用的是Internet專線,所以選擇network;假若您是使用 PPP撥號方式連線Internet,就要選擇modem。
選擇network後,Exchange會要求我們輸入mail server的address。筆者現在所使用的 Mail server地址是202.96.128.111,在本程式中便將它設定為該地址。
接著將Tranomessage的設定為automatic,這樣當我們連線到Mail server
時,新的資訊會自動到local端。
接下來,將您所使用的 address、full name、pass、download path一步
一步設定好,這樣就完成了Exchange各項引數的設定。
Step 2:程式設計
在File選項中選擇New
Project建立一個新的工程,這時螢幕上會看到許多選項,例如 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:用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中。恭喜您成功了!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988027/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 玩轉 PHP 網路程式設計全套之多程式程式設計PHP程式設計
- 實驗3 轉移指令跳轉原理及其簡單應用程式設計程式設計
- 玩轉 PHP 網路程式設計全套之 I/O 複用PHP程式設計
- 【轉載】MapReduce程式設計 Intellij Idea配置MapReduce程式設計環境程式設計IntelliJIdea
- 玩轉 PHP 網路程式設計全套之 socket stream 程式設計PHP程式設計
- 半路轉行學程式設計還來得及嗎?半路轉行如何學程式設計?程式設計
- 程式設計師寫的跳轉程式設計師
- 程式設計師用SymPy程式設計師
- 玩轉 PHP 網路程式設計全套之中斷系統程式設計PHP程式設計
- 好程式設計師Java實用教程系列之物件的轉型程式設計師Java物件
- NPDP|程式設計師轉產品經理好轉嗎?程式設計師
- MFC下CSocket程式設計詳解(轉)程式設計
- Python 程式設計實用技巧Python程式設計
- 玩轉 PHP 網路程式設計全套之 libevent 框架多人聊天應用PHP程式設計框架
- 反轉!BAT程式設計吸金榜來了,AI程式設計師刷爆了......BATAI程式設計師
- sql語句的程式設計手冊(轉)SQL程式設計
- framebuffer應用程式設計實踐程式設計
- [譯] 設計大型 JavaScript 應用程式JavaScript
- spring AOP 程式設計式應用Spring程式設計
- Send E-mail with PDF attachment using Node.jsAINode.js
- 程式設計為什麼不用中文?未來用中文程式設計可能麼?程式設計
- API(Application Programming Interface,應用程式程式設計介面)APIAPP程式設計
- Java程式設計——伺服器設計方案之應用限流Java程式設計伺服器
- 轉行學程式設計推薦學什麼?程式設計
- 程式設計師如何玩轉力扣刷題?程式設計師力扣
- XD to Flutter 設計圖轉程式碼 初體驗Flutter
- 程式設計師如何玩轉《衝頂大會》?程式設計師
- 程式設計漫談(二十):如何自學程式設計及Java、上手真實開發及轉行程式設計師的建議Java行程程式設計師
- 好程式設計師教程分享Java註解和運用註解程式設計程式設計師Java
- 怎樣用 Bash 程式設計:迴圈程式設計
- Rust 程式設計,用 vector 實現棧Rust程式設計
- 網路程式設計-I/O複用程式設計
- 用node.js做程式設計題Node.js程式設計
- [譯] 設計 QA 在應用程式設計中的重要性程式設計
- Java 網路程式設計(TCP程式設計 和 UDP程式設計)Java程式設計TCPUDP
- 鴻蒙程式設計江湖:非同步程式設計的優勢及 Promise的應用鴻蒙程式設計非同步Promise
- 應用程式程式設計太難?AppyPie推出“零基礎”VRAR設計平臺程式設計APPVR
- 程式設計師大殺器?帶你玩轉ChatGPT程式設計師ChatGPT
- 《Unix 網路程式設計》11:名字和地址轉換程式設計