[imp] LDAP and retrieval of name and mailaddress

ES enno_schulz at gmx.net
Sun Jul 27 05:36:45 PDT 2003


Hi,
I'm using Lotus Domino 5.06a as my mailserver, this supports LDAP.
I'm using IMP 3.2 and HORDE 2.2 from the stable release.
IMP is running separated from the Domino-mailserver an a SuSE Linux 8.2 
Server.

In imp/conf/conf.php
$conf['hooks']['from'] = 'imp_expand_fromaddress';
and
$conf['hooks']['fullname'] = 'imp_set_fullname';

The functions used:
/* This is another example how to get the from address from an ldap 
server. */
 if (!function_exists('imp_expand_fromaddress')) {
     function imp_expand_fromaddress($imp) {
//         $ldapServer = 'ldap.example.com';
         $ldapServer = '192.168.1.163';
         $ldapPort = '389';
         $searchBase = 'ou=people,o=example.com';

         $ds = @ldap_connect($ldapServer, $ldapPort);

         $searchResult = @ldap_search($ds, $searchBase, 'uid=' . 
$imp['user']);
         $information = @ldap_get_entries($ds, $searchResult);
         $name = $information[0]['mail'][0];

         ldap_close($ds);
print $name;
         return (empty($name) ? $imp['user'] : $name);
     }
 }

and:

/* This is another example how to get the user's full name from an ldap 
server.
 * In this example we look if a Spanish name exists and return this or the
 * standard 'cn' entry if not.
 */
 if (!function_exists('imp_set_fullname')) {
     function imp_set_fullname($imp) {
         $ldapServer = '192.168.1.163';
//         $ldapServer = 'ldap.example.com';
         $ldapPort = '389';
         $searchBase = 'ou=people,o=example.com';

         $ds = @ldap_connect($ldapServer, $ldapPort);

         $searchResult = @ldap_search($ds, $searchBase, 'uid=' . 
$imp['user']);
         $information = @ldap_get_entries($ds, $searchResult);
         if ($information[0]['cn;lang-es'][0] != '') {
             $name = $information[0]['cn;lang-es'][0];
         } else {
             $name = $information[0]['cn'][0];
         }

         ldap_close($ds);

         return (empty($name) ? $imp['user'] : $name);
     }
 }

I've deleted all data in mysql prefs for all users an logged in again.
Fullname and Mailaddress where not retrieved from my LDAP-server.

Any hints how to get fullname and mailaddress with these customfunctions 
set?
Greetings
Enno



More information about the imp mailing list