[imp] Re: virtual hosting based on ldap info
Caylan Van Larson
caylan at cs.und.edu
Tue Jul 29 13:05:44 PDT 2003
Eh,
I'll just clean it up and just place the appropriate hooks in
imp/config/conf.php. I just hope it changes the welcome screen too.
Heh heh,
Caylan
On Tue, 29 Jul 2003, Caylan Van Larson wrote:
> Hi,
>
> Here at school we have user at cs.und.edu and user at aero.und.edu accounts.
> The previous two addresses are identical and mail is accepted for both
> addresses and delivered to "user."
>
> Most users dont care to understand this concept and think that their email
> address is "wrong" when the domain is not as expected. Thus, I have to
> come up with a way to have their from address (maildomain/realm) change
> based on some ldap information, easiest being their home directories
> because of how we split compsci and avit students.
>
> Code placed in imp/config/servers.php will allow me to change
> maildomain/realm based on variables available *before* a user ever types
> in their username.
>
> Here is my code:
> --SNIP
> // Connect to the ldap server.
> ....
>
> // Identifiers and vdomains.
> $vdomains['Sirius'] = 'aero.und.edu';
> $vdomains['Agassiz'] = 'cs.und.edu';
>
> // Default vdomain
> $vdomain = 'aero.und.edu';
>
> if( $hack_ldap_resource )
> {
> $hack_ldap_user = $_REQUEST['imapuser'];
> $hack_ldap_basedn = 'ou=people,dc=aero,dc=und,dc=edu';
> $hack_ldap_search = 'uid='.$hack_ldap_user;
> $hack_ldap_results = ldap_search($hack_ldap, $hack_ldap_basedn, $hack_ldap_search);
> $hack_ldap_info = ldap_get_entries($hack_ldap, $hack_ldap_results);
> $hack_ldap_homedir = $hack_ldap_info[0]['homedirectory'][0];
>
> foreach( $vdomains as $vdomain_key => $vdomain_value )
> {
> //echo "Searching for $vdomain_key in $hack_ldap_homedir...";
> if( preg_match("/$vdomain_key/", $hack_ldap_homedir) )
> {
> //echo "FOUND!<br>";
> $vdomain = $vdomains[$vdomain_key];
> //echo "Vdomain set to $vdomain<br>";
> break;
> }
> //echo "<br>";
> }
> }
> --SNAP
>
> So here are two questions:
>
> 1) Where can I put this code so I can effectively change maildomain/realm
> while still being able to access the username provided at the initial form?
>
> 2) Instead, is there a configuration that will only allow usernames in the
> form "username at example.com" then set the maildomain/realm according to the
> address provided? (And only allow a certain set of domains?)
>
> The trouble with #2 is students will have access to both type of accounts
> because horde/imp stores them under different accounts thus different
> preferences for the same email address.
>
> Thanks,
>
>
>
> Caylan Van Larson
> Unix Administrator - Systems Team Member
> University of North Dakota (Aerospace College)
> caylan at cs.und.edu
> 701-777-6151 (work)
>
>
More information about the imp
mailing list