Programming Microsoft Outlook and Microsoft Exchange, Second Edition (DV-MPS Programming)
Chapter 16
Throughout this book, we've looked at ways to develop applications that take advantage of the collaborative functionality of both Microsoft Exchange Server and Microsoft Outlook. And by now you're probably wondering how to work around the functionality not provided by the Microsoft Collaboration Data Objects (CDO) and Outlook object models discussed in this book. For example, how do you programmatically change permissions on folders from a Web page when users don't have Outlook on their machines? And how do you programmatically create, delete, and edit rules on the server so that your applications don't require the user to set rules through Outlook? Perhaps you can save time by using rules rather than the Event Scripting Agent for simple tasks like automatically forwarding new messages or returning unwanted messages to the sender. Or maybe you need the ability to create, delete, and modify Microsoft Windows NT accounts and programmatically set the security descriptors for newly created Active Directory Services Interfaces (ADSI) Exchange Server accounts. CDO and the Outlook object model do not automatically provide these capabilities, but Microsoft has released three COM components that do: AcctCrt, ACL, and Rules. Because Exchange Server is extensible, you can use these components in your applications. You can pretty much guess the functionality of these components by their names:
- AcctCrt is an account creation component that was used in the ADSI application in Chapter 15. It allows you to create and associate Windows NT accounts with Exchange Server mailboxes so that you can use ADSI to create functional mailboxes in Exchange Server.
- ACL is a component that allows you to programmatically query, create, or change permissions on folders for users or distribution lists.
- Rules allows you to programmatically create, change, or delete rules on your folders.
These components ship as part of the Microsoft Platform Software Development Kit, but to make obtaining and using these components easier, I've included them on the companion CD in a folder named COM Components. I have also included sample applications from the Platform SDK that use the components. This chapter describes all three components and then shows a sample application named Project that uses two of them—Rules and ACL. Because AcctCrt was used in Chapter 15, we'll just look at some simple samples.