Collaboration Data Objects for Windows 2000 (CDOSYS)

This topic provides information about using Collaboration Data Objects for Windows 2000 (CDOSYS) to develop messaging applications.

Introduction

Collaboration Data Objects (CDO) for Microsoft® Windows® 2000 (Cdosys.dll), which implements the 2.0 version of the Collaboration Data Objects API specification, is a Component Object Model (COM) component designed to simplify the writing of programs that create or manipulate Internet messages. CDOSYS is one in a suite of collaborative COM components referred to collectively as CDO. CDOSYS is an integral part of the Windows 2000 series of operating systems. (The protocol events portion of this technology is described separately.)

Caveats

Functional Criteria

Criteria Collaboration Data Objects for Windows 2000 (CDOSYS)
Application Domain CDOSYS is used in applications that create and send messages using the SMTP and NNTP protocols, and create ASP applications with messaging capabilities. CDOSYS also includes transport event sinks, described separately.
Major Objects CDOSYS provides COM/Automation-compatible classes that represent messages and their parts: Messages, Message, BodyPart, BodyParts, Configuration, DropDirectory. CDOSYS also defines the COM interfaces that SMTP and NNTP protocol events must implement to function properly.
Data Access Model Mixed: Collections of messages and body parts are presented as ADO row sets, while individual messages are represented as a collection of body part objects.
Threading Models No specific threading prohibitions. However, applications that use free-threading should never share CDO object instances among asynchronously operating threads.
Application Architectures Commonly used for client-side Windows applications that use simple e-mail and NNTP messaging, and for ASP-based applications that require simple messaging capabilities.
Remote Usage CDOSYS is installed with Windows, and sends mail by using standard network protocols. Applications that run on an Exchange server typically use CDO for Exchange Server.
Transactions No.
Management Capabilities CDOSYS does not generate Windows 2000 Event Log entries, and no performance counters are available to measure it.
Availability Currently shipping in all versions of Microsoft® Windows® 2000, Windows XP, and Windows Server™ 2003. No changes are anticipated at this time.

Development Criteria

Criteria Collaboration Data Objects for Windows 2000 (CDOSYS)
Languages and Tools CDOSYS can be used with any COM/Automation-compatible languages as well as with non-COM languages such as C/C++.
Managed Implementation CDOSYS is an unmanaged component. The use of CDO for Windows 2000 is supported under the COM Interoperability layer of Visual Studio .NET and the .NET Framework, but System.Web.Mail is the recommended way to send e-mail messages in a managed code environment.
Scriptable CDOSYS is scriptable by means of ASP and Windows Scripting Host.
Test/Debug Tools No special debugging tools are needed to debug applications that use CDOSYS.
Expert Availability Even beginning developers can easily use CDOSYS, and many Microsoft and third-party Web sites and communities are available.
Available Information CDOSYS is covered in several Microsoft and third-party books. For more information about CDOSYS, see About CDO for Windows 2000 Online link on MSDN.
Developer/Deployment Licensing No special licenses are needed for using CDOSYS. Depending on your configuration, your systems may require access to an additional SMTP/NNTP server to transport messages to their destination.

Security Criteria

Criteria Collaboration Data Objects for Windows 2000 (CDOSYS)
Design-Time Permissions No special developer permissions are required to use CDOSYS. However, the developer may need Debug Applications permission when troubleshooting the application. When creating applications that send e-mail, the developer will require either write access to the pickup directory, or read access to the IIS metabase, so that the application can determine the SMTP port used for sending mail.
Setup Permissions No special permissions are needed to install applications that use CDOSYS beyond those needed when installing applications of similar architecture. If the setup program makes configuration changes to a local SMTP or NNTP service, the user must have sufficient permissions to make those changes.
Run-Time Permissions No special permissions are required to run interactive applications or ASP pages to enable the use of CDOSYS. In applications that use the SMTP or NNTP drop directory, the application or user must have permission to write into that directory. When running an application that sends e-mail, the user will require either write access to the pick up directory, or read access to the IIS metabase, so the application can determine the SMTP port used for sending mail.
Built-in Security Features CDOSYS uses the underlying Microsoft® Windows® 2000 (or Windows Server™ 2003) security features.
Security Monitoring Features None.

Deployment Criteria

Criteria Collaboration Data Objects for Windows 2000 (CDOSYS)
Server Platform Requirements CDOSYS is available on Windows 2000, Windows XP, and Windows Server 2003. CDOSYS requires access to an SMTP or NNTP server to transfer the messages it creates. If this is a local IIS service, the application must be able to determine the local pickup directory or the SMTP port of the local service.
Client Platform Requirements CDOSYS is available on Windows 2000, Windows XP, and Windows Server 2003.
Deployment Methods There are no special requirements for application installation, beyond verification that the computer is running one of the operating systems that include CDOSYS.
Deployment Notes On systems where Exchange 2000 or Exchange 2003 is installed, the CDOSYS components are replaced by CDO for Exchange 2000 Server (CDOEX), which provides additional functionality over CDOSYS. CDOEX is described separately.