CDOLive LLC The Premier Resource for Microsoft Collaboration Data Objects             

Introduction to CDO

Microsoft has recognized that developers need an object library providing greater functionality than that available in the Active Messaging 1.1 library (now called CDO 1.1), which shipped with Microsoft Exchange 5.0. Developers need objects that support capabilities beyond simple Messaging and into the areas of Calendaring, Collaboration, and Workflow. Such capabilities can simplify the development of heavy-duty resource-scheduling applications requiring information to be displayed through a calendar.

In response, Microsoft has replaced its Active Messaging library with Collaboration Data Objects (CDO). The Collaboration Data Objects are available in a library known as CDO 1.2x, which ships with Microsoft Exchange Server 5.5 and Microsoft Outlook 98/2000.

Also available, for developers working in the Microsoft Internet Information Server 4.0 environment, is a subset of the CDO library known as Collaboration Data Objects for Microsoft Windows NT Server (CDONTS). Note that CDOLive does not provide any information about CDONTS. If you are looking for information about CDONTS please take look at the Microsoft Developer Network Online: Sending e-mail via ASP and CDO for NT server to find some information how to use CDONTS and ASP. Note that you can also use CDONTS with Microsoft Exchange Server 5.5, because the SMTP protocol is used within both. For more information how to install CDONTS on a Microsoft Exchange Server 5.5, please take a look at Microsoft Developer Network Online: Installing CDO for NTS.

CDO 1.2 is a scripting-object library that developers can use to design applications on both the client and server-side. It’s an in-process self registered COM server which is language independent and can be used with many programming languages, e. g. Microsoft Visual Basic Scripting Edition (VBScript), ECMAScript (also known as JScript) and many more. Because CDOLive is focused on providing information about Microsoft Exchange Server 5.5 Scripting and Routing, Microsoft Outlook 9x/2000 and Microsoft Active Server Pages, you will only find information on how to use CDO 1.x in a Microsoft Visual Basic, Microsoft Visual Basic for Applications, Microsoft Visual Basic Scripting Edition or Microsoft JScript environment.

If you are completely new to CDO 1.x, it would be a good idea to step into the CDO 1.2 help file CDO.HLP. This file is located on the Microsoft Exchange Server 5.5 CD-ROM. Note, that an updated version is included with the Microsoft Exchange Server 5.5 Service Pack 1 (or higher). You can also download the most current version from CDOLive You can also find a lot of information on the Microsoft Web site. For more information please take a look at Digging deeper into CDO, Useful Links. Also take a look at the CDOLive Training and Book recommendations.

CDO 1.x can be used to build solutions, which are running on client- or server-side. It supports multiple concurrent sessions (according to Microsoft ~1,000 users per server). You can build client applications or ActiveX run-time controls, which are logged-on to Microsoft Exchange Server 5.5 with another account that is currently logged-on with Microsoft Outlook 9x/2000. For example, the Microsoft developers have used the CDO HTML Rendering library 1.x to build the Microsoft Outlook Web Access 5.x. For more information about the CDO HTML Rendering library 1.x, please take a look at All you ever wanted to know about ASP & CDO.

You also have the choice to logon, authenticated or anonymously, to a Microsoft Exchange Server 5.x. One possible reason for an anonymous logon is to show all items of a public folder at a Web site without prompting the user to logon.

On the server-side, you can use it to write Microsoft Exchange Server 5.5 Scripting and Routing scripts, which are firing when items are posted, modified or deleted from public or private folders. For more information about Microsoft Exchange Server 5.5 Scripting and Routing please take a look at Exchange Server Scripting and Routing.