案例VB.NET網絡之實現E-mail的發送
我們常常發E-mail郵件,可是你知道我們怎么把我們寫的郵件發送給另一方的嗎?利用VB.NET網絡可以實現這個過程,下面我們就來設計E-mail的發送部分:
1.參數設置
進入Exchange系統,選擇新增設置文件后屏幕上會顯示所需要的信息服務,選擇Internet Mail。把設置文件的名稱設為test。屏幕會顯示兩個選項,您可以選擇以Modem方式或以Network 方式連接。筆者所用的是Modem方式;假若您是使Internet專線,就要選擇Network 方式。
選擇Modem方式后,Exchange會要求我們輸入郵件服務器的IP地址。接著將Transform Message的模式設置為Automatic,這樣當我們連接到郵件服務器時,新的信息會自動下載到本地端。接下來,將您所使用的E mail地址、全名、口令和下載路徑等一一設置好。
2.VB.NET網絡程序設計
在Form上加入一個MAPIMessage控件,取名為MAPIMessage1;加入一個MAPISession控件,取名為MAPISession1;并加入三個TextBox控件,取名為Subject、Content和Addr。并在三個TextBox前各加入一個Label,將Caption分別改為標題、內容和地址。
將MAPIMessage1的各項屬性設置如下:
- ·DownLoadMail=TRUE;
- ·LogonUI=TRUE;
- ·NewSession=FALSE;
- ·UserName=“發送E mail”。
這里將DownLoadMail設置為TRUE,當程序和郵件服務器***次連接時,會將新的郵件下載到本地端。將LogonUI設置為TRUE,則當您程序中Logon名稱輸入錯誤時,系統會顯示一個Message Box來讓您輸入正確的名稱。
由于這個程序僅使用一個Session,所以可將NewSession設置成FALSE。如果您有許多Session要建立的話,則將它設置成TRUE。UserName中所填的,是我們在Exchange中所新增的設置文件名稱,如果沒有填內容的話,系統將會顯示一些Message Box請您輸入文件。在Form上加入三個按鈕,Logon、Logoff和Send,并分別將它們的Caption改為登錄、離網和發送。
在 Logon_Click()事件中加入以下程序代碼,程序的功能是使我們登錄到郵件服務器:
- MAPISession1.SignOn
- MAPIMessage1.SessionID=MAPISession1.SessionID
- sgBox “Your ID is” + Str
- (MAPISession1.SessionID)
其中MAPISession1.SignOn是作登錄的動作。在登錄時,因為已經將MAPIMessage1控件的DownLoadMail屬性設置為TRUE,所以可以在屏幕上看到Message Box,顯示系統正在下載郵件。登錄成功后,系統會傳回一個SessionID,將該ID填入MAPIMessage1的SessionID中,這樣就可以利用該Session來傳送E mail,同時用Message Box通知用戶發送成功。
在Logoff_Click()事件中加入以下程序代碼,程序的功能是使我們離開郵件服務器:
- MAPIS1.SignOff
在Send_Click()事件中加入以下程序代碼,程序的功能是使我們發送E mail:
- MAPIMessage1.Compose
- MAPIMessage1.RecipDisplayName = Addr.text
- MAPIMessage1.AddressResolveUI = TRUE
- MAPIMessage1.MsgSubject = Subject.text
- MAPIMessage1.MsgNoteText = Content.text
- MAPIMessage1.Send
- MsgBox “您發送成功啦!”
其中Compose命令的主要目的是使您可以改變RecipDisplayName的內容,將所需傳送的E mail地址、主題和文章內容分別填入RecipDisplayName、MsgSubject和MsgNoteText,接著用Send命令發送出去,VB.NET網絡編程還是很好用的吧。
【編輯推薦】