Saké Mail LDAP Configuration

Saké Mail can be configured to use an LDAP server for displaying public addresses. If you have an LDAP server and you would like to make the users in your server visible from within Saké Mail, set the "sake.mail.addressdirectories" value in your mail.ini configuration file to "both". This will configure Saké Mail to display a new tab navigation system at the top of your "Addresses" page, as in Figure 1:

 

Figure 1: Saké Mail configured to display both addresses tabs.

 

The above setting will also require the addition of at least one public address bean, either "PublicAddressesIndividual" or "PublicAddressesGroup". These two beans are also configured from within the "mail.ini" configuration file, as in the following example:

 

<!-- PublicAddressesIndividual -->
<!-- Used for displaying public lists of addresses, probably from -->
<!-- an LDAP server. -->
<!-- This module must be used if you select "both" or "public" -->
<!-- for "sake.mail.addressdirectories". -->
<extension-bean kind="sake.mail.publicaddressesindividual" class="com.endymion.sake.servlet.mail.beans.PublicAddressesLDAPBean">

<!-- The initial context factory class. -->
<parameter type="String" name="ContextFactory" value="com.sun.jndi.ldap.LdapCtxFactory" />

<!-- The provider URL. -->
<parameter type="String" name="ProviderURL" value="ldap://localhost/o=endymion.com" />

<!-- The name of the context or object to search. -->
<parameter type="String" name="Name" value="ou=people" />

<!-- The initial search filter. This is used as the search -->
<!-- filter by default, before the user has entered a search. -->
<!-- This is a standard LDAP search filter, as specified by -->
<!-- RFC 2254. ftp://ftp.isi.edu/in-notes/rfc2254.txt -->
<!-- If your LDAP server contains a large number of entries, -->
<!-- then you most likely want to set this to "()" so that -->
<!-- Sake Mail won't try to list everything on your server. -->
<parameter type="String" name="InitialSearchFilter" value="(cn=*)" />

</extension-bean>

<!-- PublicAddressesGroup -->
<!-- Used for displaying public lists of addresses, probably from -->
<!-- an LDAP server. -->
<!-- If you remove this bean, then your users will simply not see -->
<!-- the groups box at the bottom of the public addresses page. -->
<extension-bean kind="sake.mail.publicaddressesgroup" class="com.endymion.sake.servlet.mail.beans.PublicAddressesLDAPBean">

<!-- The initial context factory class. -->
<parameter type="String" name="ContextFactory" value="com.sun.jndi.ldap.LdapCtxFactory" />

<!-- The provider URL. -->
<parameter type="String" name="ProviderURL" value="ldap://localhost" />

<!-- The name of the context or object to search. -->
<parameter type="String" name="Name" value="ou=groups, o=endymion.com" />

<!-- The initial search filter. This is used as the search -->
<!-- filter by default, before the user has entered a search. -->
<!-- This is a standard LDAP search filter, as specified by -->
<!-- RFC 2254. ftp://ftp.isi.edu/in-notes/rfc2254.txt -->
<!-- You can use this to tailor Sake Mail to producing only -->
<!-- the lists that you want people to see. -->
<parameter type="String" name="InitialSearchFilter" value="(cn=*)" />

</extension-bean>

 

In the above example, the "PublicAddressesIndividual" bean is configured to connect to an LDAP server on "localhost", at the object "endymion.com". You will need to configure this to connect to your server's store for your organization. Next, set your initial search filter. This is the search string that will be used by default when a user selects the "public" tab in the address book. If you have a relatively small number of aliases configured in your LDAP server, then leave the search string "(*)", and all of your users will be listed by default. If your LDAP server contains every email address in a public university or other large institution, you will probably want to set the initial search string to "()", so that users have to actually enter a search string before receiving results. Figure 2 shows the "public" tab with no search string:

 

Figure 2: The "public" addresses tab in Saké Mail configured with no default search string.

 

Finally, configure the PublicAddressesGroup bean. If you do not have any goups in your LDAP server that you want displayed on the public tab, then simply remove this bean from your configuration, it is optional. If the bean is not loaded, then Saké Mail will not display the "Groups" section of the page at all.

Copyright © 1999 - 2002 Endymion Corporation
All rights reserved.
Carpe Noctem