 |
Introduction
| Nik Okuntseff |
MS Exchange Server Programming |
Introduction
This book is intended as a reference and tutorial on Microsoft Exchange
Server programming. I am putting this on-line hoping to get feedback from
developers - to make this material better. This book is not about MAPI.
I am trying to focus on the variety of Microsoft Exchange Server programming
topics. Familiarity with MAPI would definitely benefit a reader. However,
MS Exchange Server programming techniques go well beyond MAPI. I have started
to put together material for this book because of the following reasons:
-
Due to the nature of my previous work I needed to design and implement
a few custom gateways for Microsoft Exchange Server. Materials that were
at that time available to me (which was mostly the Platform SDK) lacked
desirable simplicity.
-
MAPI is nice but is rather complex. It may become even more unmanageable
in context of MS Exchange Server development. Perhaps I could write several
little samples or design a few helper C++ classes to make work of Exchange
Server programming easier. Historical (and the only!) way of learning MAPI
so far was by example. MAPI always seemed to be a little over weighted.
There is no easy way learning MAPI to the best of my knowledge. You can't
just read a book or two and assume that you really know how to use it.
This becomes worse in context of MS Exchange Server. To the complexities
already available in MAPI other issues add on. And there is a lot of them.
One little example: Microsoft provides a rich SDK for Exchange server called
the Exchange Development Kit (EDK). Thus, having around a book with practical
sample code would be helpful.
-
There are a few books around about MS Exchange development. But nothing
about gateways, or the Directory access functions (DAPI), as far as I know.
In fact, the only serious reference available to me was the Platform SDK.
I must say that it contains two very important books: namely Microsoft
Exchange Server Programmer's Reference, and Gateway Programmer's Reference.
-
There is definite lack of tools. Perhaps I could develop a few tools as
I go along, or at least test and suggest working techniques to use for
tools development.
I welcome all comments, suggestions, corrections and questions from developers.
Please feel free do drop me a line here: NikOkuntseff@WRConsulting.com.
This work will be published in a form of a regular book some time in 1999.
Scope
The material covers Microsoft Exchange Server 5.5. Outlook 97 and Outlook
98 were used as clients throughout this book. When version is not referenced
- assume Outlook 98. All code is currently compiled using Microsoft Visual
C++ 5.0. I intend to convert all projects to Visual C++ 6.0 before releasing
this book.
Contents by Chapters
-
Useful EDK Tools chapter describes Address
Book Viewer, Message Store Viewer, and CFGCODE tools that you may find
useful.
-
Exchange Development Kit chapter gives a
brief introduction to Microsoft EDK.
-
Working with MS Exchange Directory covers
DAPI (Directory API). It contains a lot of samples showing how you could
use it in real life.
-
Working with Messages in Exchange Server
Folders describes how you could locate, open, create, copy, and move
folders, access messages and its attachments that are stored in folders.
It also covers GAL (Exchange Global Address List), and illustrates how
you could write client code that sends an e-mail message.
-
Using Collaboration Data Objects covers
CDO in C++ development environment.
-
Forms Programming is a chapter about MAPI
and HTML forms. Here I explain what forms are, how you can develop them,
what are differences. Outlook form development environment is also covered
together with Microsoft sample form applications. In HTML Forms subchapter
I present a simple ISAPI DLL that can process an HTML form submit operation.
-
Folder Scripting is about writing
workflow applications for Microsoft Exchange Server. It describes how you
could setup the scripting environment, how you could write and debug scripts.
This chapter also describes two major drawbacks of this technology (lack
of speed and reliability).
-
Using Microsoft Message Queues is about
MSMQ in context of MAPI and Microsoft Exchange Server development. It describes
MSMQ Exchange Connector and MSMQ MAPI Transport Provider. These components
are developed by Microsoft and you can use them with some minor programming
involved. I have a few samples here that use MSMQ with and without an Exchange
server.
-
MS Exchange Server Security describes
programming aspects of Exchange server security. Logon security is discussed,
as well as directory and public folder security. I present several examples
that show how you could read and modify programmatically security attributes
of objects. The difference between Windows NT ACLs and public folder ACLs
is discussed and explained.
-
Writing Exchange Administrator Extensions
chapter describes how you could extend Exchange Administrator program by
providing your own property page dialogs integrated into it. A sample is
presented.
-
Developing Gateways chapter is about customizing
Microsoft sample gateway to suit your needs. Basically, it shows how you
could utilize it with little programming involved. Exchange Server gateways
development is difficult. Perhaps you could save yourself some time by
reusing Microsoft code. Also, installation issues are covered. I show how
you could write your own code to accomplish gateway installation tasks.
-
MAPI Class Library presents a C++ class
that may be useful when dealing with MAPI properties.
-
Utilities for Exchange Server describes
some of my gadgets that may be useful for an Exchange Server developer
(CService, CServiceEx classes, and a program to start/stop Exchange Server
services).
-
Appendixes describe building debug version
of Exchange SDK library and usage of MFC in MAPI/Exchange development projects.
[ Contents |
Home
]
Send comments and suggestions to niko@wrconsulting.com
Copyright © 1997-1998 by Nik Okuntseff
|
 |