WEB开发网      濠电姷鏁告慨鐑藉极閸涘﹦绠鹃柍褜鍓氱换娑欐媴閸愬弶鎼愮痪鍓ф嚀閳规垿鎮╃€圭姴顥濋梺姹囧€楅崑鎾诲Φ閸曨垰绠涢柛顐f礃椤庡秹姊虹粙娆惧剳闁哥姵鍔欐俊鐢稿礋椤栨艾鍞ㄩ梺闈浤涙担鎻掍壕闁圭儤顨嗛埛鎺楁煕閺囥劌浜滄い蹇e弮閺屸€崇暆鐎n剛鏆犻柧浼欑到閵嗘帒顫濋悡搴d画缂佹鍨垮缁樻媴缁涘娈┑顔斤公缁犳捇銆佸鎰佹▌濠电姭鍋撳ù锝囩《閺€浠嬫煟濡鍤嬬€规悶鍎辫灃闁绘ê寮堕崯鐐电磼閸屾氨效鐎规洘绮忛ˇ瀵哥棯閹佸仮鐎殿喖鐖煎畷鐓庘槈濡警鐎崇紓鍌欑劍椤ㄥ棗鐣濋幖浣歌摕闁绘棃顥撻弳瀣煟濡も偓閻楀棗鈻撳Δ鍛拺閻犲洠鈧櫕鐏€闂佸搫鎳愭慨鎾偩閻ゎ垬浜归柟鐑樼箖閺呮繈姊洪棃娑氬婵☆偅鐟╅、娆掔疀閺冨倻鐦堥梺姹囧灲濞佳勭閿曞倹鐓曢柕濞垮劤閸╋絾顨ラ悙鏉戝妤犵偞锕㈤、娆撴嚃閳哄骞㈤梻鍌欐祰椤鐣峰Ο鑲╃煋妞ゆ棁锟ユ禍褰掓煙閻戞ɑ灏ù婊冪秺濮婅櫣绱掑Ο铏逛桓闂佹寧娲嶉弲娑滅亱闂佸憡娲﹂崹閬嶅煕閹达附鐓欓柤娴嬫櫅娴犳粌鈹戦垾鐐藉仮闁诡喗顨呴埥澶愬箳閹惧褰囩紓鍌欑贰閸犳牠顢栭崨鎼晣闁稿繒鍘х欢鐐翠繆椤栨粎甯涙繛鍛喘濮婄粯鎷呴悷閭﹀殝缂備浇顕ч崐鍨嚕缂佹ḿ绡€闁搞儯鍔嶅▍鍥⒑缁嬫寧婀扮紒瀣崌瀹曘垽鎮介崨濠勫幗闁瑰吋鐣崹濠氬煀閺囥垺鐓ユ慨妯垮煐閻撶喖鐓崶銉ュ姢缂佸宕电槐鎺旂磼濡偐鐣虹紓浣虹帛缁诲牆鐣峰鈧俊姝岊槺缂佽鲸绻堝缁樻媴缁涘娈愰梺鎼炲妺閸楀啿鐣烽鐐茬骇闁瑰濮靛▓楣冩⒑缂佹ɑ鈷掗柍宄扮墦瀵偊宕掗悙瀵稿幈闂佹娊鏁崑鎾绘煛閸涱喚鎳呮俊鍙夊姇铻i悶娑掑墲閺傗偓闂備胶绮崝鏇炍熸繝鍥у惞闁绘柨鐨濋弨鑺ャ亜閺冨洦顥夐柛鏂诲€濋幗鍫曟倷閻戞ḿ鍘遍梺鍝勬储閸斿本鏅堕鐐寸厱婵炲棗绻掔粻濠氭煛鐏炵晫效鐎规洦鍋婂畷鐔碱敆閳ь剙鈻嶉敐鍥╃=濞达絾褰冩禍鐐節閵忥絾纭炬い鎴濇川缁粯銈i崘鈺冨幍闁诲孩绋掑玻璺ㄧ不濮椻偓閺屻劌鈽夊Ο澶癸絾銇勯妸锝呭姦闁诡喗鐟╅、鏃堝礋椤撴繄绀勯梻鍌欐祰椤曟牠宕伴弽顐ょ濠电姴鍊婚弳锕傛煙椤栫偛浜版俊鑼额嚙閳规垿鍩勯崘銊хシ濡炪値鍘鹃崗妯侯嚕鐠囨祴妲堥柕蹇曞閳哄懏鐓忓璺虹墕閸旀挳鏌涢弬娆炬Ш缂佽鲸鎸婚幏鍛矙鎼存挸浜鹃柛婵勫劤閻挾鎲搁悧鍫濈瑨闁哄绶氶弻鐔煎礈瑜忕敮娑㈡煛閸涱喗鍊愰柡灞诲姂閹倝宕掑☉姗嗕紦 ---闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏃堟暜閸嬫挾绮☉妯哄箻婵炲樊浜滈悡娑㈡煕濞戝崬骞樻い鏂挎濮婅櫣鎹勯妸銉︾彚闂佺懓鍤栭幏锟�
开发学院软件开发VB 用VisualBasic5.0设计E-mail程序(MAPI) 阅读

用VisualBasic5.0设计E-mail程序(MAPI)

 2006-02-27 21:13:13 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閹绘帞鈧參姊哄Ч鍥х仼闁诲繑鑹鹃悾鐑藉蓟閵夛妇鍘甸梺瑙勵問閸犳牠銆傛總鍛婄厱閹艰揪绱曟牎闂侀潧娲ょ€氫即鐛幒妤€绠f繝闈涘暙娴滈箖鏌i姀鈶跺湱澹曟繝姘厵闁绘劦鍓氶悘杈ㄤ繆閹绘帞澧涚紒缁樼洴瀹曞崬螖閸愬啠鍓濈换娑樼暆婵犱胶鏁栫紓浣介哺閹瑰洤鐣烽幒鎴僵闁瑰吀鐒﹂悗鎼佹⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩缁狀垶鏌涢幇闈涙灈鐎瑰憡绻冮妵鍕箻鐎靛摜鐣奸梺纭咁潐濞茬喎顫忕紒妯肩懝闁逞屽墮宀h儻顦查悡銈夋煏閸繃鍋繛宸簻鎯熼梺瀹犳〃閼冲爼宕濋敃鈧—鍐Χ閸℃鐟愰梺鐓庡暱閻栧ジ宕烘繝鍥у嵆闁靛骏绱曢崢顏堟⒑閹肩偛鍔楅柡鍛⊕缁傛帟顦寸紒杈ㄥ笚濞煎繘鍩℃担閿嬵潟闂備浇妗ㄩ悞锕傚箲閸ヮ剙鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘闂傚倸鍊搁崐鎼佸磹妞嬪孩顐芥慨姗嗗厳缂傛氨鎲稿鍫罕闂備礁婀遍搹搴ㄥ窗閺嶎偆涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹  闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柤鍝ユ暩娴犳氨绱撻崒娆掑厡缂侇噮鍨堕妴鍐川閺夋垹鍘洪悗骞垮劚椤︻垶宕¢幎鑺ョ厪闊洦娲栨牎闂佽瀵掗崜鐔奉潖閾忓湱纾兼俊顖氭惈椤矂姊洪崷顓涙嫛闁稿妫濋幆鈧い蹇撴祩濡嫰姊洪崫鍕拱婵炲弶岣块幑銏犫攽婵犲嫮鏉搁梺鍝勬川婵兘鎮伴妷鈺傗拻濞达絽鎼敮璺侯熆閻熷府鏀荤紒鍌氱Т楗即宕煎锝呬壕闁哄啫鐗嗙粈鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娑扁偓妤€顭胯閸犳牠婀侀梺缁樕戦悷銉р偓姘煎枤缁粯銈i崘鈺冨幈濡炪倖鍔戦崐鏇㈠几鎼淬劍鐓熼煫鍥ь儏閸旀粓鏌曢崶褍顏€殿喗娼欒灒闁告繂瀚濠碉紕鍋戦崐鎴﹀垂濞差亝鍋¢柍鍝勬噹缁犳牠鏌嶉埡浣告殲闁稿海鍠栭弻鏇㈠炊瑜嶇花濠氭煙閸戙倖瀚�
核心提示:前言随着计算机网络的发展,人与人之间信息传输的时间大为缩短,用VisualBasic5.0设计E-mail程序(MAPI),许多文件都是以电子邮件的形式来传送;通常使用过计算机的人,或多或少都会用到E-Mail来传输信息,在indexnotextbox中填入1,接着按getmailButton,本文将介绍如何用Micr
前言
随着计算机网络的发展,人与人之间信息传输的时间大为缩短。许多文件都是以电子邮件的形式来传送;通常使用过计算机的人,或多或少都会用到E-Mail来传输信息。本文将介绍如何用MicrosoftMAPI(MessagingapplicationPRogramInterface)来设计Mail程序。首先用VisualBasic所提供的MAPIsessioncontrol及MAPIMessagecontrol来设计Mail收发程序,然后用MicrosoftInternetExplorer3.0所提供的E-Mail程序来测试程序设计的正确性。

MAPI简介

MAPI接口是由微软公司提供的一系列供使用者开发Mail、Scheduling、bulletinboard、communication程序的编程接口。在使用MAPI设计程序时,首先必须在程序和MAPI之间建立一条或数条Session;当Session建立好之后,Client端程序就可以使用MAPI所提供的功能。

MAPI的功能主要分成三大部分:AddressBooks、Transport和MessageStore。AddressBooks主要负责设置E-mailtype、protocol等参数;Transport负责文件的发送和接收等功能;MessageStore则负责发送接收等信息的处理。

说了这么多,MAPI接口好像很可怕。不过没关系,VisualBasic所提供的MAPISessioncontrol及MAPIMessagecontrol,已经将许多复杂的部分包装成简单的property和功能,我们只需要对property及功能作一些简单的设置,就可以写一个mail发送和接收的程序。

以下笔者将用VisualBasic的MAPIcontrol,来设计mail传送和接收的程序。

E-mail发送部分

Step1:设置Exchange各项参数

进入Exchange系统,选择新增设置文件;屏幕上会显示所需要的信息服务,选择InternetMail。将设置文件的名称设为test。屏幕会显示两个选项,您可以选择以modem方式,或以network方式连接。笔者所用的是Internet专线,所以选择network;假若您是使用PPP拨号方式连接Internet,就要选择modem。选择network后,Exchange会要求我们输入mailserver的ipaddress。笔者现在所使用的Mailserver地址是202.96.128.111,在本程序中便将它设置为该地址。接着将Transformmessage的模式设置为automatic,这样当我们连接到Mailserver时,新的信息会自动download到local

端。

接下来,将您所使用的Emailaddress、fullname、passWord、downloadpath一步一步设置好,这样就完成了Exchange各项

参数的设置。

Step2:程序设计

在File选项中选择NewProject建立一个新的工程,这时屏幕上会看到许多选项,例如ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl等...,这时要选Standard.EXE。

在Project下,选择Property属性选项;在general选项下,将ProjectName改为email-send,并将Form名称及Caption更改为email-send

在屏幕的Form上加入一个MAPImessagecontrol,取名为MAPIm1;加入一个MAPIsessioncontrol,取名为MAPIs1;加入三个textboxcontrol,取名为subject、content、addr。并在三个textbox前各加入一个Label,将Caption分别改为subject、content、addr。

为方便读者了解彼此关系,以下表解释一遍:

(TextBox)Name

subject(输入信件标题)

content(输入信件内容)

addr(输入信件要传送的位址)


--------------------------------------------------------------------------------



(Label)Caption

subject(输入信件标题提示)

content(输入信件内容提示)

addr(输入信件要传送的位址提示)

将MAPIm1的各项property设置如下:

downloadmail=TRUE

logoUI=TRUE

newsession=FALSE

username="test"

这里将downloadmail设置为TRUE,当程序和mailserver第一次连接时,会将新的maildownload到local端。将logoUI设置为TRUE,则当您程序中logon名称输入错误时,系统会显示一个MessageBox来让您输入正确的名称。由于这个程序仅使用到一条session,我们将它的值设置成FALSE。当然啦!如果您有许多session要建立的话,也可以将它设置成TRUE。username中所填的,是我们在Exchange中所新增的设置文件名称;如果没有填内容的话,系统将会显示一些messagebox请您输入文件。在屏幕的Form上加入三个Buttoncontrol,logon、logoff与send,分别将Caption改为logon、logoff、send。

(Button)

NameCaption

logon(执行登入命令)logon

logoff(执行登出命令)logoff

send(执行传出信件命令)send

在logon_Click()中加入以下程序代码,这个动作是使我们登录到mailserver。

MAPIS1.SignOn

MAPIM1.SessionID=MS1.SessionID

MsgBox"youridis" Str(MS1.SessionID)

MS1.SignOn是作登录的动作。在登录时,因为已经将MAPIm1control的downloadmail属性设置为TRUE,所以可以在屏幕上看到messagebox显示系统正在downloadmail。登录成功后,系统会传回一个sessionID,将该ID填入MAPIM1的SessionID中,这样就可以利用这条session来传送E-mail。

在logoff_Click()中加入以下程序代码,这个动作是使我们离开mailserver。

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"yousuccessful"Compose命令的主要目的,是使您可以改变RecipDisplayName的内容,将所需传送的E-mail地址、主题、文章内容分别填入RecipDisplayName、MsgSubject、MsgNoteText,接着用send命令发送。

Step3:用IE3.0Mail程序测试程序

执行上面设计的email-send程序。在subjecttextbox中填入"发信测试",在addresstextbox中填入gzsydici@public1.guangzhou.gd.cn,在contenttextbox中输入要传送的内容:"大家好!这是发信测试",接着按传送。这样信件就发送出去了!

执行IE3.0选择接收信件,在mail选项中选择readmail。我们会在inbox中看到一封标题为"发信测试"的信件,接着我们看看它的内容,没错!那就是我们刚寄出的测试信。

E-mail接收部分

Step1:程序设计

在File选项中选择NewProject建立一个新的工程。在屏幕上看到许多选项,如ActiveXDocument.EXE、ActiveXDocument.DLL、ActiveX.EXE、ActiveXControl等,这时要选Standard.EXE。

接着在Project下,选择Property属性选项;在general选项下,将ProjectName改为 email-get,并将FORM名称及Caption更改为email-get。

在屏幕的Form上加入一个MAPImessagecontrol,取名为MAPIm

1;加入一个MAPIsessioncontrol,取名为MAPIs1;加入三个Textboxcontrol,分别取名为subject、content、indexno,将其Caption改为mail-subject、mail-content、indexno;并在TextBox前各加入一个Labelcontrol,将Caption分别改为subject、content、indexno。

将MAPIm1的各项property设置如下:

downloadmail=TRUE

logoUI=TRUE

newsession=FALSE

username="test"

这些设置原理如同设计发送mail程序部分。接着,在屏幕的Form上加入一个Buttoncontrolget-mail,将Caption改为getmail。如同发送mail程序部分和mailserver建立一条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中。我们将信件抓回来后,可以由MsgCountproperty知道信件数量。接着可以用MsgIndex设置要看哪一封信件的内容、标题。

Stept2:测试mail接收程序

首先用任何一种mail程序,任意书写几封信到mailserver。在Form1的Caption中,我们会看到所接收的信件的数量。执行上面设计的email-get程序,在indexnotextbox中填入1。接着按getmailButton,这样信件内容及标题就会显示在content、subject两个TextBox中。恭喜您成功了!->

Tags:VisualBasic 设计 mail

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接