What Does Collaboration Data Objects (CDO) Mean?
Collaboration Data Objects (CDO) is an application programming interface (API) built into Microsoft Server products. CDO provides access to the global address list, mailbox content, public folders and other server objects related to messaging and Microsoft Outlook. CDO cannot be used to directly program added functionality to MS Outlook.
The function library of CDO gives developers a convenient way to create, manipulate and send internet messages, which is not possible with applications such as Microsoft Outlook.
Collaboration Data Objects was previously known as OLE Messaging or Active Messaging.
Techopedia Explains Collaboration Data Objects (CDO)
The Microsoft application programming interface (MAPI) is a flexible interface that is able to support new APIs and features for upcoming applications. CDO is a scripting interface added to the existing MAPI. CDO uses an object library, which not only supports C/C++ clients, but also supports any application that creates and accesses COM objects.
The CDO API is available in two files: CDO.dll and CDOHTML.dll. The CDO.dll contains core collaborative functions, which include message sending, directory access and accessing schedule information. CDOHTML.dll acts as a rendering library, allowing for the conversion of information stored in Exchange Server to HTML by using custom views, colors and formats.
CDO enables the creation of multiserver-based applications. It can access detailed information stored in the directory or display address books for users. CDO also provides authenticated or anonymous access to information. This allows users to access and create calendaring information, as well as access public directories and information.
The CDO features are available through two libraries, which support direct access to public folders and mailbox contents for any application using the CDO API to communicate with the mailbox. The two versions of CDO are CDONTS and CDOSYS.CDO. They can easily handle email attachments, group lists and schedules, which may all be transparently transported across applications.