長時間使用OutlookExPRess收發電子郵件的軟件,你是不是也有點煩?是不是像我一樣,也想什麽時候自己動手編寫一個屬于自己收發電子郵件的軟件。如果是這樣,那麽隨我來吧!其實在VB中,應用程序可以通過調用微軟公司的MAPI(MessagingapplicationProgrammingInterface)消息應用程序編程接口,輕松實現收發電子郵件的功能。
VB中有兩個郵件收發功能的核心控件:MAPI會話和MAPI消息控件。MAPI會話控件用于建立和控制一個MicrosoftMail會話,MAPI消息控件用于創建和收發郵件消息。此外,程序必須運行在采用MAPI的消息系統(如MicrosoftExchange、Outlook等)的環境中。
窗體設計
打開VB,在Form1中加入5個文本框,7個命令按鈕,同時通過添加部件的方法將MAPI控件加入窗體中(如圖1)。各對象的屬性設置如圖2。


圖2對象屬性設置
編寫代碼PrivateSubCommand1_Click()
IfVal(Text2.Text)<=0ThenExitSub
Text2.Text=Val(Text2.Text)-1
Callxs()
EndSub
PrivateSubCommand2_Click()
IfVal(Text2.Text)>=Val(Text1.Text)-1ThenExitSub
Text2.Text=Val(Text2.Text) 1
Callxs()
EndSub
PrivateSubCommand3_Click()
MAPIMessages1.sessionID=MAPISession1.SessionID
MAPIMessages1.MsgIndex=-1′建立發送緩沖區
MAPIMessages1.Compose′寫新郵件
MAPIMessages1.SendTrue
EndSub
PrivateSubxs()
MAPIMessages1.MsgIndex=Val(Text2.Text)′指定電子郵件
Text3.Text=MAPIMessages1.MsgSubject′電子郵件主題
Text4.Text=MAPIMessages1.MsgOrigDisplayName
′電子郵件發信人姓名
Text5.Text=MAPIMessages1.MsgNoteText′電子郵件全文
EndSub
PrivateSubCommand4_Click()
MAPIMessages1.SessionID=MAPISession1.SessionID
MAPIMessages1.MsgIndex=Val(Text2.Text)
MAPIMessages1.Reply
MAPIMessages1.SendTrue
EndSub
PrivateSubCommand5_Click()
MAPISession1.SignOff
MAPISession1.DownLoadMail=True
MAPISession1.SignOn
MAPIMessages1.SessionID=MAPISession1.SessionID
MAPIMessages1.FetchUnreadOnly=False
MAPIMessages1.Fetch
Text1.Text=MAPIMessages1.MsgCount
Text2.Text=0
EndSub
PrivateSubCommand6_Click()
OnErrorGoToerr:
MAPIMessages1.Show
err:
EndSub
PrivateSubForm_Activate()
Callxs
EndSub
PrivateSubForm_Load()′系統初始化
MAPISession1.DownLoadMail=False
MAPISession1.SignOn′處理開始
MAPIMessages1.SessionID=MAPISession1.SessionID
MAPIMessages1.FetchUnreadOnly=False
MAPIMessages1.Fetch
Text1.Text=MAPIMessages1.MsgCount
Text2.Text=0
EndSub
PrivateSubCommand7_Click()
MAPISession1.SignOff′處理結束
End
EndSub
好了,代碼終于寫完了,運行一下,看看效果,還不錯吧!當然,如果你想更完善一些,就需要你自己努力了。本程序在WindowsXP下運行通過。
-