Mail Login Resolver deprecated
Introduction
Sharing mail folders requires resolving mailbox owners, or, more precisely, IMAP ACLs to user and context identifiers. Another use case for this kind of resolve operation is when iMIP messages pushed to the server are used in combination with the IMAP login (as per com.openexchange.calendar.pushedIMipResolveMode).
Since 7.10.6 Open-Xchange Servers allows resolving them using a dedicated Mail Login Resolver Service. The standard LDAP-based Mail Login Resolver will be described in this article.
A configured Mail Login Resolver is a precondition for sharing mail folders across context boundaries. See Cross-Context Collaboration for the bigger picture.
LDAP-based Mail Login Resolver
The standard LDAP-based Mail Login Resolver is able to resolve mailbox owners to user and context identifiers. In order to show user information about an already shared mail folder, the resolver is also capable of resolving user and context identifiers to mail logins.
Configuration
To enable the Mail Login Resolver Service, it is necessary to set com.openexchange.mail.login.resolver.enabled=true. This will make the service available in the system generally.
In order to enable the standard LDAP-based Mail Login Resolver as well, it is needed to set com.openexchange.mail.login.resolver.ldap.enabled=true and requires a proper client configuration to be set via com.openexchange.mail.login.resolver.ldap.clientId. Therefore, a section within ldap-client-config.yml needs to be defined first. See LDAP Client Configuration for further details.
Additionally, the resolver requires some more LDAP-specific configuration, which will be explained in the following.
Note that different configurations can be used by configuring the values through the config-cascade (up to scope context). However, if the mail login resolver needs to be used by the iMIP push notification endpoint (see here for details), only a system-wide defined mail login resolver can and will be used.
ACL2Entity
Resolving mailbox owners (ACLs) to user and context identifier can be configured with the following properties:
com.openexchange.mail.login.resolver.ldap.mailLoginSearchFilterSpecifies the LDAP search filter to find mail logins by userId and contextId. The placeholder[mailLogin]will be replaced by the given mail login. Default is(oxLocalMailRecipient=[mailLogin])com.openexchange.mail.login.resolver.ldap.mailLoginSearchScopeSpecifies the LDAP search scope to resolve mail logins. Default isSUBcom.openexchange.mail.login.resolver.ldap.userIdAttributeSpecifies the attribute which is used to find the userId in the LDAP search result. The LDAP search result needs to contain a value for this attribute or foruserNameAttributein order to successfully resolve a mail login. No default value is defined.com.openexchange.mail.login.resolver.ldap.userNameAttributeSpecifies the attribute which is used to find the user name in the LDAP search result. The LDAP search result needs to contain a value for this attribute or foruserIdAttributein order to successfully resolve a mail login. No default value is defined.com.openexchange.mail.login.resolver.ldap.contextIdAttributeSpecifies the attribute which is used to find the contextId in the LDAP search result. The LDAP search result needs to contain a value for this attribute or forcontextNameAttributein order to successfully resolve a mail login. No default value is defined.com.openexchange.mail.login.resolver.ldap.contextNameAttributeSpecifies the attribute which is used to find the context name in the LDAP search result. The LDAP search result needs to contain a value for this attribute or forcontextIdAttributein order to successfully resolve a mail login. No default value is defined.
Please see the Configuration Documentation for more details.
Entity2ACL
Resolving user and context identifiers to mailbox owners (ACLs) can be configured with the following properties:
com.openexchange.mail.login.resolver.ldap.entitySearchFilterSpecifies the LDAP search filter to find entities by their mail logins. Placeholder[cid]and[uid]will be replaced by the given contextId and userId. Default is(&(oxContextId=[cid])(oxUserId=[uid]))com.openexchange.mail.login.resolver.ldap.entitySearchScopeSpecifies the LDAP search scope to resolve entities. Default isSUBcom.openexchange.mail.login.resolver.ldap.mailLoginAttributeSpecifies the attribute which is used to find the mail login in the LDAP search result. Default isoxLocalMailRecipient
Please see the Configuration Documentation for more details.
Cache
To speed up frequent accesses for the same mail login, the LDAP-based Mail Resolver is able to cache already resolved mail logins (or a non-resolvable) for a short period of time. Since it is possible to configure multiple LDAP services, which could resolve a single mail login to different user and context identifiers, the resolved mail logins are cached per LDAP configuration. The expiry time can be configured via com.openexchange.mail.login.resolver.ldap.cacheExpire (Default: 10 minutes).