📄 0503008.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title></title>
<link rel="stylesheet" type="text/css" href="../../vckbase.css">
</head>
<body>
<div align="justify">
<table border="0" width="100%" class="font" height="57">
<tr>
<td width="27%" height="6" class="bigfont" bgcolor="#B8CFE7" align="center" bordercolor="#800080">
<font color="#800080">VC知识库(五)</font>
</td>
<td width="73%" height="6" class="bigfont" bgcolor="#B8CFE7" align="center" bordercolor="#800080">
<font color="#800080">www.vckbase.com</font>
</td>
</tr>
<tr>
<td width="100%" height="4" class="header" valign="top" align="center" colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="100%" height="17" class="header" valign="top" align="center" colspan="2">
利用MAPI实现电子邮件功能
</td>
</tr>
<tr>
<td width="100%" height="17" class="info" align="center" colspan="2">
董保华
</td>
</tr>
<tr>
<td width="100%" height="22" class="font" colspan="2">
<hr>
</td>
</tr>
<tr>
<td width="100%" height="5" class="font" colspan="2">
<p><br>
在VB、VC中进行面向Internet的开发应用,是近期许多程序员关注的热点。<br>
<br>
随着办公自动化应用软件水平的提高和Intranet的流行,越来越多的办公自动化系统中都采用了电子邮件,如IBMLotusNotes和Microsoft的MailServer(Exchange)和Internet
Mail(SMTP/POP)等。在机器上安装了MicrosoftMAPI邮件系统后,在相应的办公软件,如字处理(Word),电子报表(Excel),甚至文件管理器(FileManager)中都有了一个发送菜单,可以直接发送有关的文件,提高了我们的办公效率。如果能够在我们自己开发的应用软件中增加电子邮件功能,难道不是更方便工作人员的使用、提高办公自动化软件的水平吗?<br>
<br>
下面,我将介绍一下在自己开发的软件中和Microsoft的MAPI的结合问题。<br>
<br>
Microsoft公司的电子邮件产品的通讯层称为MAPI(TheMessageApplicationsProgra
mmingInterface),正如Windows中的打印系统可以服务于所有的应用程序一样,MAPI也服务于所有的应用软件,Word和Excel也正是利用了MAPI进行通讯的。<br>
<br>
MAPI可以分为简单MAPI(SimpleMAPI)和扩充MAPI(ExtendedMAPI),在目前的Windows16位版本中提供的是简单MAPI,它的最突出的特点是简单易用。Win32中实现了扩充MAPI,下文所说的MAPI即指的是扩充MAPI。<br>
<br>
MAPISDK在Win32SDK中提供,其实也可用于16位的Windows。MAPISDK是由mapi.h,mapi.dll,mapinit.h,mapinit.h等几个文件组成,由于没有提供mapi.lib,所以在mapinit.c和mapinit.c两个文件中直接从mapi.dll中得到函数地址。这几个文件位于VisualC++2.0以上版本的samples/api目录中,也可以从VisualBasic3.0所附的CD-ROM(“OfficeDeveloper'sKit")中得到。<br>
<br>
MAPI提供了以下十几个过程,位于MAPI.DLL中。<br>
<br>
MAPIAddress建立或修改地址表<br>
<br>
MAPIDeleteMail删除邮件消息<br>
<br>
MAPIDetails显示邮件消息的详细信息对话框<br>
<br>
MAPIFindNext返回特定邮件消息类型的下一个(第一个)消息ID<br>
<br>
MAPIFreeBuffer释放邮件系统分配的内存资源<br>
<br>
MAPILogoff结束邮件消息<br>
<br>
MAPIResolveName显示对话框,取得收件人地址<br>
<br>
MAPISaveMail保存邮件消息<br>
<br>
MAPISendDocuments利用对话框发送标准邮件消息<br>
<br>
MAPISendMail发送邮件消息,可以采用较多的灵活性来生成消息<br>
<br>
在编写应用软件时,我们只要考虑一些发送消息调用即可,不必编写完整的消息处理系统,所以下面只对常用的几个函数进行解释。<br>
<br>
MAPILogon:<br>
<br>
原型:<br>
<br>
ULONGMAPILogon(ULONGulUIParam,LPSTRlpsz
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -