CDOLive LLC The Premier Resource for Microsoft Collaboration Data Objects             

Exchange Phone List Web Application

This sample Microsoft Active Server Page application displays the Microsoft Exchange Server global address list (GAL) via CDO anonymous access, without using the standard Outlook Web Access interface or ADSI. All mailboxes of the GAL are displayed in a table view. A visitor can search by 'Full Name', 'Department' or 'Office'. Also a bar, similar to that one used in a Microsoft Outlook contacts folder, is displayed to access full names easily:

If a full name is selected the details of the mailbox are displayed in a new window, including the e-mail address, manager name and the employee picture (if available, see below):

If pictures of all customer/employees are available as GIF or JPG files put the link (e. g. 'http://myserver.mydomain.com/pictures/johnDoe.gif') into one of the available 10 (with Microsoft Exchange Server 5.0, or lower) resp. 15 (with Microsoft Exchange Server 5.5) custom attributes to point to an url were all pictures are saved. All pictures must be stored on your Intra/Internet Web site.

This sample is especially useful if you want to put your Microsoft Exchange Server directory as a phone list to your Intra/Internet Web site without editing HTML files manually.

To use the application start your browser, enter the URL 'http://www.yourdomain.com/phonelist' and the HTML page will be loaded.

Known Issues

Note that this sample does not run on Exchange 2000 Server due to product changes. It is currently under investigation why this application will not run on Exchange 2000 Server. After this tests are done the "Checked Build" section of this page will be updated immediately.

The colors used in the address list table view, which displays the global address list, are hardcoded into the address list container renderer, because it is not possible to use constants or variables inside the container renderer 'HeadingRowPrefix' and 'RowPrefix' properties. This seems to be a limitation of the current CDO HTML rendering library. To change the colors open the file 'Address.inc' with a text editor, locate the keywords above and change the colors to the value you want to use.

The sort order of the items is currently fixed to sort the full name ascending, however it can be changed with CDO.

Some users have reported problems using this sample with Netscape Navigator 3x. resp. Netscape Navigator/Communicator 4.x. If you want to use this sample with another browser than Microsoft Internet Explorer you have to modify it yourself.

If you want to run this sample on another computer than your Exchange Server machine you need to install at least Outlook Web Access on this machine (and it is recommended the latest Exchange Service Pack also). Otherwise you will not get the latest CDO HTML rendering and CDO library. This is the only supported way to accomplish that and just copying files is not supported by Microsoft.

Note that the Office/Outlook 2000 setup does not install CDO 1.21 by default. You need to run the Office/Outlook 2000 setup and add CDO 1.21 as custom option.

Prerequisites

The Microsoft Internet Information Server anonymous account (default 'IUSR_<YourServerName>') must have 'Log On Locally' rights, granted with the Microsoft Windows NT Server 'User Manager' program. To check if the account does work properly try to logon with this account on the Microsoft Windows NT Server which should host the Microsoft Active Server Application in question.

Make sure that Microsoft Exchange Server with Microsoft Outlook Web Access is installed and running properly. To check if Outlook Web Access is running try to load the following url into your browser:
'http://www.yourdomain.com/exchange/logon.asp' and check if you can logon properly to your Microsoft Exchange mailbox.

Also anonymous access to browse the global address list must be enabled for your Microsoft Exchange site. To check if anonymous access is enabled and the public folder in question is available, enter the url above and select 'Public Access'. If you don't see the 'Find Names' option in the Outlook Web Access bar it is not enabled. This must be done with the Microsoft Exchange Server admin program and is described below.

Checked Build

This sample should run without modifications with any language version of Microsoft Exchange Server 5.x. It is built and checked for a proper function using the following environment:

  • Microsoft Windows NT Server 4.0, with Service Pack 4/5/6a, US English - International
  • Microsoft Windows 2000 Server, with Service Pack 1, US English - International
  • Microsoft Exchange Server 5.5, with Service Pack 2/3/4, US English - International
  • Microsoft Outlook Web Access 5.5, with Service Pack 3/4, US English - International
  • Microsoft Internet Information Server 4.0, US English - International
  • Microsoft Internet Information Services 5.0, US English - International
  • Microsoft Outlook 98, with Security Patch 2 and Archive Patch, US English - International
  • Microsoft Internet Explorer 4.01, with Service Pack 1, US English - International
  • Microsoft Internet Explorer 5.5, with Service Pack 1, US English - International
Installation and Configuration
Component Description
phlist.zip (21 Kbyte) ASP Application Files The Microsoft Active Server Pages application.

To install the application, unzip all files to a new directory called 'phonelist'. Make sure that the Microsoft Internet Information Server anonymous account (default 'IUSR_<YourServerName>') does have at least 'Read' permissions on this directory.

The application includes the following files:
File Description
Address.asp Builds the address list renderer output, called by default.asp.
Address.inc Contains the renderer functions for a single mailbox and the address list container renderer.
Cdoprops.inc Contains CDO property tags.
Default.asp Initial application start point, calls title.asp, rolodex.asp and address.asp in separate frames. Can be incorporated into own ASP pages.
Default.htm Default HTML document file, redirects to default.asp. Only needed if default.asp can't be the default document of your IIS virtual directory.
Details.asp Displays mailbox properties.
Global.asa Global settings to initialize the ASP application and CDO session.
Global.inc Contains global application settings including the application title and color settings. More information is included in the file itself.
Lang.inc Contains localizable strings.
Logon.inc Contains methods to create and check an anonymous CDO session.
Rolodex.asp Implements a quick navigation bar, like that one used in a Microsoft Outlook contact folder.
Title.asp Implements the header and search options.

Use the Microsoft Internet Information Server Manager program to create a new virtual directory,  name it 'phonelist' and allow at least 'Read Access' and 'Script Access'.

Right-click the created virtual directory and open the properties. Select the 'Documents' tab and check if 'Default.htm' is enabled as the default page.

Select the 'Directory Security' tab and click the 'Edit...' button of 'Anonymous Access and Authentication Control'. Make sure that 'Allow Anonymous Access' and 'Basic Authentication (Password is sent in Clear Text)' is enabled.

Click the 'Edit...' button of 'Account used for Anonymous Access' and check if the Microsoft Internet Information Server anonymous account (default 'IUSR_<YourServerName>') is entered in the 'Username' field and 'Enable Automatic Password Synchronization' is enabled.

Click 'OK' to close the dialog box.

Click the 'Edit...' button of 'Default domain for Basic Authentication' and make sure that the Microsoft Windows NT domain which is used to authenticate your NT accounts is entered. This is important if you are using a separate Microsoft Windows NT domain for authentication only.

Start the Microsoft Exchange admin program and expand the 'Protocols' container of your Microsoft Exchange Site in the left-hand pane. Open the 'HTTP (Web) Site Settings' in the right-hand pane.

Make sure that 'Enable protocol' and 'Allow anonymous users to browse the global address list' are checked.

Select the 'Advanced' tab and click the 'No Limit' radio button to return all entries of the global address list. You can also limit the maximum amount of address list entries that are returned to the application, by selecting 'Maximum numbers of entries' and enter the desired number.

Note that sometimes it is necessary to reboot the Microsoft Windows NT/Exchange server to enable the settings properly.