收藏 分享(赏)

在vbvfp应用系统中收发邮件.doc

上传人:dzzj200808 文档编号:4407212 上传时间:2018-12-27 格式:DOC 页数:10 大小:49KB
下载 相关 举报
在vbvfp应用系统中收发邮件.doc_第1页
第1页 / 共10页
在vbvfp应用系统中收发邮件.doc_第2页
第2页 / 共10页
在vbvfp应用系统中收发邮件.doc_第3页
第3页 / 共10页
在vbvfp应用系统中收发邮件.doc_第4页
第4页 / 共10页
在vbvfp应用系统中收发邮件.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、在 VB、VFP 应用系统中收发邮件E-mail 是 Internet/Intranet 网上通信的最主要的方式之一,充分利用 E-mail 的功能可以极大地提高企业的工作效率,减轻用户的工作负担。Windows 95 中提供了一个名为 Exchange 的电子邮件客户程序,它包含了收件箱、发件箱、收发消息、消息优先级等功能,广泛支持超文本消息、收发传真和 Internet 邮件等内容,可以在 LAN、Microsoft Fax、远程邮件、Internet 等多种软件环境中工作。在 VFP、VB 开发的应用系统中结合 Exchange 的邮件服务功能,可以使您的应用系统功能更强大、服务更完善、

2、使用更方便。下面介绍 VB、VFP 的 MAPI 控件以及在 VB、VFP 应用系统中使用这些控件收发 E-mail 的方法。 一.MAPI 控件概述 MAPI(通信应用程序接口)控件,即 MSMAPI32.OCX,包括两个 OLE 控件:MAPISession(MAPI 工作期)控件和 MAPIMessage(MAPI 消息)控件。MAPISession 控件的功能是负责建立会话、取消会话的一个 MAPI工作期。MAPIMessage 控件则提供了发送、接收等所有对电子邮件进行处理的功能。 MAPISession 控件用来注册一个新工作期和注销当前工作期。注册时,首先 用 MAPISessi

3、on 控件的 SignOn 方法建立与 E-mail 服务器的会话连接,显示完注册对话框后,SessionID 属性包含了刚注册的 MAPISession 的句柄。此句柄最终必须传递给 MAPIMessage 控件,在结束当前 MAPISession 工作期之前,必须先注销该工作期。然后再用 MAPIMessage 控件的 SessionID 属性同有效的会话联系起来,执行一系列消息系统函数,实现收发邮件的功能。 二.MAPI 控件的主要属性 (1)MAPISession 控件的属性: Action 属性:当 MAPISession 控件被激活时,该属性将决定执行什么操作。 LogonUI 属

4、性:该属性指定是否显示注册对话框。当其值为“真”时,则出 现一个对话框提示新用户输入用户名和口令;当其值为“假”时,则不显示对话框。 SessionID 属性:返回当前的消息会话句柄。指定 SignOn 方法时,可以设置该属性的值。使用MAPIMessage 控件处理消息时,需要使用此会话句柄,其缺省值为 0。 SignOn 方法:将用户登录到 UserName 和 Password 属性所指定的帐户中,并将会话句柄存储到属性SessionID 中。 SignOff 方法:结束消息会话,从 UserName 和 Password 属性所指定的帐户中 退出。 (2)MAPIMessage 控件的

5、属性: Action 属性:当 MAPIMessage 控件被激活时,该属性决定将执行什么操作。 SessionID 属性:存储由 MAPISession 控件的 SessionID 属性返回的消息会话句柄。 FetchSorted 属性:在用收件箱中的消息填充消息集合时,指定或返回消息的排序。当其值为“真”时,按接收消息的顺序向消息集合添加消息;当其值为“假”时,由用户收件箱中的排序添加消息。 FetchUnreadOnly 属性:决定是否将消息集合中的消息限定为未读消息。当其值为“真”时,只向消息集合添加 FetchMsgType 属性指定的未读消息;当其值为“假”时,添加收件箱中适当类型

6、的全部消息。 MsgCount 属性:用于在消息工作期间返回存在于消息设置中的消息的总数。 MsgIndex 属性:指定当前索引消息的索引编号。在索引改变时,所有消息的其它属性也随之改变,以反映索引消息的特征。索引号的范围是从1 到 MsgCount1。 MsgOrigDisplayName 属性:返回当前索引消息的原始发件人的名字。 MsgOrigAddress 属性:返回当前索引消息的原始发件人的邮件地址。 RecipDisplayName、RecipAddress、MsgSubject、MsgNoteText 属性:分别指定当前索引的收件人姓名、收件人的邮件地址、主题、文本行,构成一条完

7、整的消息。 Send 方法:发送一条消息。它带有一个参数 nDialog,当 nDialog 为“真”时,显示 Exchange 邮件系统的操作界面,由用户输入消息的各个部分,并将消息提交邮件服务器传送;当 nDialog 为“假”时,则不显示相应的操作界面,而将消息提交给邮件服务器。 Reply 方法:响应一个消息。将当前索引的消息复制到构成缓冲区中,并将 RE:加入标题行的开始,同时将 MsgIndex 属性设置为1。 Delete 方法:删除一个消息、收件人或附件。 Compose 方法:构成一条消息。 Fetch 方法:由收件箱中选择的消息创建一个消息集合。 三.应用实例 应用实例一:

8、用 VB 5.0 的 MAPI 控件收发邮件。 1. 插入 MAPI 控件的方法: 在 VB 5.0 主菜单的“工程”项中选择“部件(0)”,在弹出的控件栏中,双击“Microsoft MAPI Control 5.0”项,按“确定”键返回。那么,在窗体工具箱中就有了上述控件。 2.建立含有如下控件的窗体: 控件 NAME CAPTION 主窗体 frmMail 用 VB 5.0 的 MAPI 控件收发邮件 MAPISession 控件 MailSess MAPIMessage 控件 MailMess 命令按钮 cmdNewMail 发件箱 命令按钮 cmdGetMail 收件箱 命令按钮 c

9、mdExit 退出 子窗体 frmNewMail 发件箱 标签 label1 收件人: 标签 label2 主题: 文本框 TEXT1 输入收件人的电子邮件地址 文本框 TEXT2 输入文本的主题 文本框 TEXT3 输入文本内容 命令按钮 MailSend 发送邮件 子窗体 frmGetMail 收件箱 标签 label1 发件人: 标签 label2 主题: 文本框 TEXT1 发件人的电子邮件地址 文本框 TEXT2 发来的文本主题 文本框 TEXT3 发来的文本内容 命令按钮 cmdPrevious 向前 命令按钮 cmdNext 向后 输入主窗体“发件箱”按钮的程序代码: Priva

10、te Sub cmdNewMail_Click() frmNewMail.Show End Sub 输入主窗体“收件箱”按钮的程序代码: Private Sub cmdGetMail_Click() frmGetMail.Show End Sub 输入主窗体“退出”按钮的程序代码: Private Sub cmdExit_Click() frmMail.MailSess.SignOff 断开连接 End End Sub 输入 frmNewMail 子窗体“发送邮件”按钮的程序代码: Private Sub MailSend_Click() frmMail.MailSess.SignOn 建立连

11、接 frmMail.MailMess.SessionID = frmMail.MailSess.SessionID frmMail.MailMess.MsgIndex = -1 frmMail.MailMess.RecipDisplayName = Text1.Text frmMail.MailMess.MsgSubject = Text2.Text frmMail.MailMess.MsgNoteText = Text3.Text frmMail.MailMess.Send (False) frmMail.MailSess.SignOff End Sub 输入 frmGetMail 子窗体装

12、入的程序代码: Private Sub Form_Load() Dim mailIndex, mailCounts As Integer frmMail.MailSess.SignOn frmMail.MailMess.SessionID = frmMail.MailSess.SessionID frmMail.MailMess.FetchSorted = True frmMail.MailMess.FetchUnreadOnly = True frmMail.MailMess.Action = 1 mailCounts = frmMail.MailMess.MsgCount If mailC

13、ounts = 0 Then Text3.Text = “收件箱中没有邮件!“ frmGetMail.cmdPrevious.Enabled = False frmGetMail.cmdNext.Enabled = False Else frmGetMail.MailMess.MsgIndex = 0 frmGetMail.Text1.Text = frmMail.MailMess.MsgOrigAddress frmGetMail.Text2.Text = frmMail.MailMess.MsgSubject frmGetMail.Text3.Text = frmMail.MailMess

14、.MsgNoteText End If End Sub 输入 frmGetMail 子窗体“向前”按钮的程序代码: Private Sub cmdPrevious_Click() mailIndex = frmGetMail.MailMess.MsgIndex frmGetMail.MailMess.MsgIndex = mailIndex - 1 frmGetMail.Text1.Text = frmMail.MailMess.MsgOrigAddress frmGetMail.Text2.Text = frmMail.MailMess.MsgSubject frmGetMail.Text3

15、.Text = frmMail.MailMess.MsgNoteText If mailIndex = 0 Then frmGetMail.cmdPrevious.Enabled = False End If End Sub 输入 frmGetMail 子窗体“向后”按钮的程序代码: Private Sub cmdNext_Click() mailCounts = frmGetMail.MailMess.MsgCount - 1 mailIndex = frmGetMail.MailMess.MsgIndex frmGetMail.MailMess.MsgIndex = mailIndex +

16、 1 frmGetMail.Text1.Text = frmMail.MailMess.MsgOrigAddress frmGetMail.Text2.Text = frmMail.MailMess.MsgSubject frmGetMail.Text3.Text = frmMail.MailMess.MsgNoteText If mailIndex = mailCounts Then frmGetMail.cmdNext.Enabled = False End If End Sub 应用实例二:用 VFP 5.0 的 MAPI 控件收发邮件。 1. 插入 MAPI 控件的方法: 在 VFP

17、5.0 主菜单的“工具”项中选择“选项”,在弹出的控件栏中,双击“Microsoft MAPI Control 5.0”项,那么,在窗体工具箱中就有了上述控件。 2.建立含有如下控件的窗体: 控件 NAME CAPTION 窗体 frmMail 用 VFP 5.0 的 MAPI 控件收发邮件 MAPISession 控件 MailSess MAPIMessage 控件 MailMess 命令按钮 command1 发件箱 命令按钮 command2 收件箱 命令按钮 command3 退出 输入“发件箱”按钮单击事件的程序代码: thisform.MailSess.SignOn thisfor

18、m.MailMess.SessionID = thisform.MailSess.SessionID thisform.MailMess.MsgIndex = -1 thisform.MailMess.RecipDisplayName = ““ thisform.MailMess.MsgSubject = “信件“ thisform.MailMess.MsgNoteText = “请给我发邮件!“ thisform.MailMess.Send (.F.) thisform.MailSess.SignOff 输入“收件箱”按钮单击事件的程序代码: thisform.MailSess.SignOn

19、 thisform.MailMess.SessionID = thisform.MailSess.SessionID thisform.MailMess.FetchSorted = .T. thisform.MailMess.FetchUnreadOnly = .T. thisform.MailMess.Action = 1 xx= for mm=0 to thisform.MailMess.MsgCount-1 thisform.MailMess.MsgIndex = mm xx=xx+thisform.MailMess.MsgNoteText+chr(13)+chr(10) endf thisform.MailSess.SignOff 输入“退出”按钮的程序代码: thisform.MailSess.SignOff release thisform 上述程序只是给出用 VB 5.0 和 VFP 5.0 开发 E-mail 程序的简单案例,用户可以结合自己的实际情况,将上述程序修改、完善后,加入到自己的应用系统中去,使应用系统的功能更强大。 以上程序在同创 P/200、中文 WINDOWS 95、WINDOWS NT 4.0、Visual Foxpro 5.0、Visual Basic 5.0软、硬件环境中运行并通过。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 软件工程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报