INFO: Differences Between CDO, Simple MAPI, and Extended MAPI

ID: Q200018


The information in this article applies to:
  • Collaboration Data Objects (CDO), versions 1.0a, 1.1, 1.2, 1.21
  • Extended Messaging Application Programming Interface (MAPI), version 1.0
  • Simple Messaging Application Programming Interface (MAPI)


SUMMARY

This article describes key differences between CDO (previously known as Active Messaging and OLE Messaging), Simple MAPI, Common Messaging Calls (CMC), and Extended MAPI (usually referred to simply as MAPI).


MORE INFORMATION

CDO

Collaboration Data Objects (CDO) was originally called "OLE Messaging" and later "Active Messaging". CDO is a COM wrapper of the MAPI library and can be called from any development language that supports automation. For example, Simple MAPI, CDO is primarily designed for client activities. CDO implements most but not all MAPI functionality, although far more than Simple MAPI. Some activities that can be accomplished using CDO:
  • Log onto the messaging system with specific profiles or with anonymous authentication.


  • Compose messages, address and resolve recipients, send, receive, and read messages, add attachments, automate replies.


  • Manage calendars; create meetings and appointments.


  • Manage folders and messages within the information store.


  • Manage Addresses, especially within the Personal Address Book (PAB).



There are two distinct "flavors" of CDO, the MAPI based CDO.DLL and the SMTP based CDONTS.dll. The CDONTS library allows rendering of selected information into HTML format.

For more information specific to CDO see the following KnowledgeBase articles:
Q176916 INFO: Active Messaging and Collaboration Data Objects (CDO)
Q171440 Where to Acquire the Collaboration Data Objects Library

For more information specific to CDONTS see the following KnowledgeBase articles:
Q186204 HOWTO: Use CDONTS to Collect and Mail Information From a User
Q177850 INFO: What is the Difference Between CDO 1.2 and CDONTS?

MAPI

The Messaging Application Program Interface (MAPI) is an extensive set of functions that developers can use to create mail-enabled applications. The full function library is known as MAPI 1.0 or Extended MAPI. Extended MAPI allows complete control over the messaging system on the client computer, creation and management of messages, management of the client mailbox, service providers, and so forth.

Applications that use MAPI directly are written in C or C++.

Simple MAPI

Simple MAPI is a subset of 12 functions, which enable developers to add basic messaging functionality to their Windows-based applications. Simple MAPI includes functions to support sending and receiving messages:
  • Log onto the messaging system.


  • Compose new messages, add and resolve recipients, send messages.


  • Retrieve and read messages from the inbox.


The Simple MAPI functions can be called from any application that supports both making API calls as well as the structures and data-types used by Simple MAPI, such as C, C++, Visual Basic, and Visual Basic for Applications (VBA).

"The MAPI controls included with Microsoft Visual Basic (versions 3 through 6), and the version of MAPI installed by Outlook Express implement Simple MAPI only."

For more information specific to Simple MAPI see the following KnowledgeBase articles:
Q105964 PC MAPI: Simple MAPI Common Technical Questions and Answer
Q121424 How to Install Simple MAPI in Your VBApp Application
Q239576 INFO: Developer Support Limitations with Outlook Express

CMC

Common Messaging Calls (CMC) is a library of 10 functions for adding simple messaging capabilities to client applications written in C or C++. CMC is built on top of the core MAPI subsystem so it shares the advantage of messaging system independence. The CMC API is especially valuable because it is also independent of the operating system, therefore useful for cross-platform client applications. CMC also includes support for the X.400 API. The CMC supports three principal tasks:
  • Sending messages


  • Retrieving messages


  • Looking up addressing information


For more information specific to CMC see the following KnowledgeBase article:
Q114247 PC MAPI: Background on Common Messaging Calls (CMC)


REFERENCES

Platform Software Development Kit (SDK), Messaging and Collaboration Services

The following MSDN topics are helpful to understand the full relationship of these messaging technologies:

  • MAPI Programming Interfaces


  • About the MAPI Subsystem


  • About the MAPI Architecture


Additional query words: kbDSupport

Keywords : kbCDO kbCDO100a kbCDO110 kbCDO120 kbCDO121 kbMAPI kbMsg kbCDONTS kbMAPI000 kbMAPI100 kbfaq kbGrpMsg kbDSupport
Version : WINDOWS:1.0,1.0a,1.1,1.2,1.21
Platform : WINDOWS
Issue type : kbinfo


Last Reviewed: December 2, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.