文档介绍:用 VB 收发电子邮件
发送和接收电子邮件 ,对于某些执行特殊任务的应用程序而言 ,是一个十分有 用的功能。例如 ,一个监视网络服务器资源使用情况的工具软件 ,当它发现服务器 的资源使用已经接近事先设定的临界状态时 ,便可以向系统管理员发送一封告警 的电子邮件 ,从而使系统管理员能够及时地采取措施 ,以避免重大事故的出现。在 VB中应用程序可以通过调用 MAPI,实现收发电子邮件的功能。
编制具有收发电子邮件功能的 VB程序,,因为只 Basic才带有两个实现电子邮件收发功能的核心控件:
MAPI 会话控件和 MAPI 消息控件。 MAPI 会话控件用于建立和控制一个 Microsoft Mail会话,MAPI消息控件用于创建和收发邮件消息。此外,程序必须运 行在采用遵从 MAPI 的消息系统 (如:
Microsoft Exchange、Microsoft Mail 、Outlook 等)的环境中。
在开始编程之前,首先需要将MAPI控件加入VB工具箱。具体操作是:
在VB菜单栏中选择 Tools菜单项中的Custom Controls命令,调出"Custom Controls"对话框,在其中的"Available Controls"列表框中选中"Microsoft MAPI Con trols"表项,然后按"OK "命令按钮退出该对话框。此后,工具箱中将新添两个如 图 1 所示的图标 ,这就是 MAPI 会话控件和 MAP I 消息控件的图标。
@***@.JPG图1 MAPI工具图标@@
下面,笔者将以两个简单的VB程序为例,分别介绍发送邮件和接收邮件的程 序编制方法。
一、邮件发送程序
邮件发送程序的基本处理过程是 :
根据用户输入信息组成邮件,然后使用MAPI消息控件的Send方法将邮件发 出。编程步骤如下 :
一个 VB 项目。
2•将缺省窗体Forml的Caption属性设置为"发送邮件"。
将MAPI控件加入 VB工具框。
在Forml中加入一个 MAPI会话控件 MAPISession1和一个 MAPI消息控件 MAPIMessag es1。
在Forml中加入三个文本框控件,将它们的Name属性分别设置为 txtSendTo、txtS ubject、txtMessage,并将 txtMessage 的 Multiline 属性设置为 True。这三个文本框控件将分别用于填写邮件的收件人、主题和内容。
在Form1中加入三个标签控件,将它们的Caption属性分别设置为"收件人 "、 "主题"和"内容",并将它们放在合适的位置用以标注相应的文本框控件。
在Form1中加入一个命令按钮控件 将其Caption属性和Name属性分别设 置为"发送"和"cmdSe nd"。
将下列代码加入Form1的Form_Load事件:
Private Sub Form_Load()
End Sub
将下列代码加入 Form1 的 Form_Unload 事件:
Private Sub Form_Unload(Cancel As Integer)
End Sub
将下列代码加入cmdSend的Click事件:
Private Sub cmdSend_Click()
With MAPIMessages1
.MsgIndex = -1
.RecipDisplayName =
.MsgSubject =
.MsgNoteText =
.SessionID =
.Send
End With
MsgBox "邮件发送完毕 !", ? "发送邮件 "
End Sub
程序运行后如图 2 所示。
@***@.JPG图2发送邮件@@
二、邮件接收程序
邮件接收程序比邮件发送程序稍微复杂一些。首先需要使用 MAPI消息控件
的Fetch方法读取邮件,这个过程将把用户收件箱中所有未读邮件全部装入 MAPI
消息控件中。然后 检查MAPI消息控件的MsgCount属性以确定通过Fetch方法 读取的邮件的总数。接着,可以通过设置MAPI消息控件的Msglndex属性来指定 具体需要处理哪一封邮件。需要说明的是,MsgIndex属性值的计数是从0开始的, 也就是说 ,第一封邮件的索引号是 0,第二封邮件的索引号是 1,依次类推。编程步 骤如下:
—个VB项目。
2•将缺省