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

2016-02-19 21:10 8 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的用VisualBasic5.0设计E-mail程序(MAPI),过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】

前言
  随着计算机网络的发展,人与人之间信息传输的时间大为缩短。许多文件都是以电子邮件的形式来传送;通常使用过计算机的人,或多或少都会用到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中。恭喜您成功了!->

来源:https://www.tulaoshi.com/n/20160219/1625458.html

延伸阅读
可用性设计 任何应用程序的可用性基本上由用户决定。界面设计是需多次反复的过程;在为应用程序设计界面时,第一步就设计出非常完美的界面的情况非常少见。用户参与设计过程越早,花的气力越少,创建的界面越好、越可用。 什么是好的界面 设计用户界面时,开始时最好是先看看Microsoft或其他公司的一些卖得很好的应用程...
使用Visual Basic 5.0很容易建立屏幕保护程序。实际上任何VB应用程序都可以作为屏幕保护程序来运行,只是有的程序更适于作为屏幕保护程序。要想使自己的应用程序成为Windows环境中屏幕保护程序,需要将该程序作为屏幕保护程序来编译。具体方法是:从File 菜单上选定Make EXE File,在Make EXE File对话框中作以下改动:不再建立带扩展名为E...
自从Internet盛行以来,人们对于文件下载、即时信息获取、电子邮件传送变得方便许多。Internet可以说是21世纪人类科技的一大创新。由于这个重大改变,人们的生活方式也受到非常大的影响;电子购物、网上信息库、网上股市实时交易如雨后春笋般的出现。以往,VisualBasic4.0并没有提供一个完整的solution供VisualBasic的爱好者设计Internet程序。...
VisualBasic中通信控件及其在windows平台下的通信软件设计方法,并结合具体实例给出了基本的通信程序。 1992年crescentsoftwareinc.公司专为vb设计了mscomm.vbx用户通信控件,它提供了通过串口发送和接收数据的串行通信能力,不但包括了全部windowsapi中关于串行通信的16个函数所完成的功能,而且开拓了更多的使用户设计方便的对...
标签: ASP
  ------------------------------------- ASP精品屋 探索者 www.asphouses.com 转载请保留此条信息! ------------------------------------- 网页上E_mail自动反馈的asp程序示例如下: <% Set mailer = Server.CreateObject("ASPMAIL.ASPMailCtrl.1")   recipient="接收者email" sender="发送...

经验教程

737

收藏

10
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部