CDOLive LLC The Premier Resource for Microsoft Collaboration Data Objects             

History & Future

With the release of Microsoft Exchange Server 4.0 in Q1 1996 Microsoft has introduced the OLE Messaging library in the version 1.0 (now called CDO 1.0) to give developers the ability writing applications on top of Microsoft Exchange.

With the release of Microsoft Exchange Server 5.0 in Q1 of 1997 Microsoft has renamed the OLE Messaging library to Active Messaging library (now called CDO 1.1) and included new functionality such as using Active Server Pages technology to access Exchange information (also known as Outlook Web Access) and updated it to version 1.1.

With the release of Microsoft Exchange Server 5.5 in Q4 1997 Microsoft again renamed this technology from Active Messaging to Collaboration Data Objects (CDO).

The Microsoft Collaboration Data Objects are available in a library known as CDO 1.2 (included in Microsoft Exchange Server 5.5) and CDO 1.21, included in Microsoft Outlook 98/2000 and Microsoft Exchange Server 5.5 Service Pack 1 or higher, which replaces the Active Messaging object library version 1.1.

And The Future

Microsoft continues to enhance CDO and build new versions with the next generation of Windows and Exchange. The following versions are included with Windows 2000 and/or Exchange 2000.

The following table provides an overview of the different CDO libraries that are either included with Windows 2000 or Exchange 2000. Each component is described more detailed below:

Component Implements specification Description
CDO for Windows 2000 CDO 2.0 CDO for Windows 2000 (also known as CDOSYS) COM component to create SMTP and/or NNTP based applications upon the Windows 2000 platform.

Included in any version of Windows 2000. Does not run on any other operation system.

CDO for Exchange 2000 CDO 3.0 CDO for Exchange 2000 (also known as CDOEX) COM component to create collaborative applications based upon the Windows 2000 and the Exchange 2000 platform.

Included in Exchange 2000 Server & Enterprise Server. Runs only on top of the Exchange 2000 Server computer.

CDO Workflow for Exchange 2000 CDO 3.0 CDO Workflow for Exchange 2000 (also known as CDOWF) COM component to build workflow functionality on top of Exchange 2000.

Included in Exchange 2000 Server & Enterprise Server. Runs only on top of the Exchange 2000 Server computer.

CDO Management Objects for Exchange 2000 CDO 3.0 CDO Management Objects (also known as EMO) COM component to manage an Exchange server. Can be used to create, move and delete mailboxes or manage users, contacts, and groups etc.

Included in Exchange 2000 Server & Enterprise Server. Runs only on top of the Exchange 2000 Server computer.

Personal Knowledge Management CDO n/a CDO for SharePoint Portal 2001 Server (also known as PKMCDO). Implements features to build knowledge management applications, like document management & versioning.

Included in SharePoint Portal 2001 Server and Office XP. Runs on top of the SharePoint Portal 2001 Server or any other computer that has Office XP installed.

CDO for Windows 2000 is the Collaboration Data Objects Library for Microsoft Windows 2000 (also known as CDOSYS), formerly referred as CDO 2.0. It is a COM component designed to simplify writing programs that create or manipulate Internet messages. CDO for Windows 2000 is one in a suite of collaborative COM components referred to collectively as CDO. The CDO for Windows 2000 is an integral part of the Windows 2000 series of operating systems.

The COM classes provided by CDO for Windows 2000 expose dual interfaces that enable you to use them in applications written in languages that support the Component Object Model (COM) and Automation, such as Microsoft Visual Basic, Microsoft Visual C++, Microsoft Visual J++, and scripting languages such as Visual Basic, Scripting Edition.

CDO for Windows 2000 is designed for creating both client and server applications for computers running Windows 2000 and supports creating and managing messages formatted and sent using Internet standards, including the Multipurpose Internet Mail Extensions (MIME) standard. The CDO for Windows 2000 component supports sending messages using both the SMTP and NNTP protocols, as well as through a local SMTP/NNTP service pickup directory.

CDO for Windows 2000 includes a single dynamic-link library (CDOSYS.DLL) that you can use to create two basic application types:

  • Messaging applications can send e-mail messages using the SMTP protocol. The message can be a simple text message or a message with a complex set of MIME body parts. Server applications can also process inbound and outbound messages sent through the server before the messages are delivered.
  • Newsgroup applications can post messages to newsgroups using the NNTP protocol. Newsgroup messages can also be simple or complex. Server applications can process inbound messages at several points before and after posting to a newsgroup.

For typical applications, you can send or post messages with only a few lines of code. The CDO component handles most of the details. Your application can always change the default CDO behavior; CDO exposes a complete set of properties and methods for when you need more control.

The following scenarios are examples of the types of applications you can write using CDO.

  • Creating and sending bulk e-mail
  • Appending disclaimers or other notices to e-mail sent through your server
  • Creating ASP pages that send messages
  • Detecting and discarding unsolicited bulk mailings
  • Detecting and discarding inappropriate newsgroup postings
  • Checking inbound messages for viruses
  • Automatic forwarding and filtering of messages

CDO for Exchange 2000is the Collaboration Data Object library for Microsoft Exchange 2000 (also known as CDOEX), formerly referred as CDO 3.0, the follow-up version of CDO 1.2. CDO for Exchange 2000 is included in Microsoft Exchange 2000 Server. While the name implies to be an update of it's predecessor, it is a completely new designed library which doesn't rely on Extended MAPI any longer. Instead Exchange 2000 includes an OLEDB provider which is used by CDO for Exchange 2000.

CDO for Exchange 2000 does have a different object model than CDO 1.2 and includes extensions to the OLE DB and ADO programming model. It is a superset of CDO 2.0 and enables new functions, such as voicemail, fax and pager support. Also included is enhanced scheduling and contact management and support for MIME headers (including S/MIME) and MHTML (HTML message bodies). Last but not least, a future release of Microsoft Outlook (neither Outlook 2000 nor 2002 currently does) will also support CDO for Exchange 2000.

The following table provides a short overview of the features and capabilities of each library:

Feature CDO 1.2 for ExchangeCDO 1.2 HTML Rendering CDO 1.2 for Windows NT ServerCDO for Windows 2000 CDO for Exchange 2000Personal Knowledge Management CDO
Based on OLEDB No No No No YES YES
Based on MAPI YES YES No No No No
Supports MAPI profiles YES YES No No No No
Supports authenticated users YES YES No No YES YES
Supports address book accessYES YES No No YES (using CDOEXM) no
Supports remote server accessYES YES No YES No No
Supports SMTP accessNo No YES YES YES No
Supports NNTP accessNo No YES YES YES No
Supports Outlook calendar accessPartially (no public folder calendars) Partially (no public folder calendars)No No YES No
Supports Outlook contact accessPartially (not documented by Microsoft)Partially (not documented by Microsoft)No No YES No
Supports Outlook task accessNo No No No Partially (not documented by Microsoft) No
Supports Outlook journal accessNo No No No Partially (not documented by Microsoft) No
Supports HTML renderingNo YES No No No No
Supports MHTML messagesNo No YES YES YES YES
Supports MIME message types No No YES YES YES YES
Supports RTF message types Partially (using an additional DLL provided by Microsoft) YES No No No No
Supports NewMail objectNo No YES No No No
Can be called from ASPYES YES YES YES YES YES
Compatible with IIS 4.0YES YES YES No No No
Compatible with IIS 5.0YES YES YES YES YES YES
Compatible with CDO 1.1 applicationsYES YES No No No No