在VB 6菜单上点击“工程/部件”,弹出“部件”对话框,在对话框的控件卡中选中Microsoft MAPI Controls 6.0控件,点击“确定”按钮后,工具箱上增加了MAPIMessage和MAPISession两个图标。
在Form上加入一个MAPIMessage控件,取名为MAPIMessage1;再加入一个MAPISession控件,取名为MAPISession1;再加入三个TextBox控件,分别取名为Subject、Content和Indexno, 将它们的Caption分别改为邮件标题、邮件内容和邮件索引号;在TextBox前各加入一个Label控件,将Caption分别改为标题、内容和索引号。
将MAPIMessage1的各项属性设置如下:
●DownLoadMail=TRUE;
●LogonUI=TRUE;
●NewSession=FALSE;
●UserName=“接收Email”。
在Form上加入一个按钮(Getmail),将其Caption改为取邮件。
在 Getmail_Click()事件中加入以下程序代码,
程序的功能是使我们接收Email。
MAPIMessage1.Fetch
Form1.Caption=MAPIMessage1.MsgCount
MAPIMessage1.MsgIndex=CINT(Indexno.text)
Subject.Text = MAPIMessage1.MsgNoteText
Content.Text = MAPIMessage1.MsgSubject
其中Fetch命令用来将信件抓到系统存储器的inbuffer中。我们将信件抓回来后,可以通过MsgCount属性知道信件数量,接着可以用MsgIndex设置要看哪一封信件的内容、标题等。
设计E-mail的发送部分
1.参数设置
进入Exchange系统,选择新增设置文件后屏幕上会显示所需要的信息服务,选择Internet Mail。
把设置文件的名称设为test。屏幕会显示两个选项,您可以选择以Modem方式或以Network 方式连接。笔者所用的是Modem方式;假若您是使Internet专线,就要选择Network 方式。
选择Modem方式后,Exchange会要求我们输入邮件服务器的IP地址。接着将Transform Message的模式设置为Automatic,这样当我们连接到邮件服务器时,新的信息会自动下载到本地端。接下来,将您所使用的Email地址、全名、口令和
下载路径等一一设置好。
2.
程序设计
在Form上加入一个MAPIMessage控件,取名为MAPIMessage1;加入一个MAPISession控件,取名为MAPISession1;并加入三个TextBox控件,取名为Subject、Content和Addr。并在三个TextBox前各加入一个Label,将Caption分别改为标题、内容和地址。
将MAPIMessage1的各项属性设置如下:
●DownLoadMail=TRUE;
●LogonUI=TRUE;
●NewSession=FALSE;
●UserName=“发送Email”。
这里将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来传送Email,同时用Message Box通知用户发送成功。
在Logoff_Click()事件中加入以下程序代码,
程序的功能是使我们离开邮件服务器:
MAPIS1.SignOff
在Send_Click()事件中加入以下程序代码,
程序的功能是使我们发送Email:
MAPIMessage1.Compose
MAPIMessage1.RecipDisplayName = Addr.text
MAPIMessage1.AddressResolveUI = TRUE
MAPIMessage1.MsgSubject = Subject.text
MAPIMessage1.MsgNoteText = Content.text
MAPIMessage1.Send
MsgBox “您发送成功啦!”
其中Compose命令的主要目的是使您可以改变RecipDisplayName的内容,将所需传送的Email地址、主题和文章内容分别填入RecipDisplayName、MsgSubject和MsgNoteText,接着用Send命令发送出去。