分享
 
 
 

用VB5.0设计E-Mail程序

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

分类文摘

返回主页

用VB5.0设计E-Mail程序

前言

随着计算机网络的发展,人与人之间信息传输的时间大为缩短。许多文件都是以电子邮件的形式来传送;通常使用过计算机的人,或多或少都会用到E-Mail来传输信息。本文将介绍如何用Microsoft MAPI (Messaging Application Program Interface)来设计Mail程序。首先用Visual Basic所提供的MAPISession control及MAPIMessage control 来设计Mail收发程序,然后用Microsoft Internet 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各项参数

进入Exchange系统,选择新增设置文件;屏幕上会显示所需要的信息服务,选择 Internet Mail。

将设置文件的名称设为test。屏幕会显示两个选项,您可以选择以modem方式,或以network方式连接。笔者所用的是Internet专线,所以选择network;假若您是使用 PPP拨号方式连接Internet,就要选择modem。

选择network后,Exchange会要求我们输入mail server的IP address。笔者现在所使用的 Mail server地址是202.96.128.111,在本程序中便将它设置为该地址。

接着将Transform message的模式设置为automatic,这样当我们连接到Mail server

时,新的信息会自动download到local端。

接下来,将您所使用的Email address、full name、password、download path一步

一步设置好,这样就完成了Exchange各项参数的设置。

Step 2:程序设计

在File选项中选择New

Project建立一个新的工程,这时屏幕上会看到许多选项,例如ActiveX 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:用IE 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中。恭喜您成功了!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有