greetings list, been running version 3 for a long while and i must be missing 
something obvious as i was reading http://wiki.horde.org/ImapSelect and have 
the following in my setup :

horde/imp/config/conf.php

<?php
$conf['hooks']['preauthenticate'] = true;
...

horde/imp/config/hooks.php

<?php

if (!function_exists('_horde_hook_preauthenticate')) {
    function _horde_hook_preauthenticate($userID, $credential, $realm)
    {
        require dirname(__FILE__) . '/../imp/config/servers.php';
 
        // Convert all to lower chars (even the possible domain part)
        $userID=strtolower($userID);
        // Strip domain part from user, if it exists.
        if (($domainpart = strpos($userID, '@'))) {
          $server=substr($userID, $domainpart+1);
          $userID=substr($userID, 0, $domainpart);
          // Change the values only if a domain part was found ...
          if (!empty($server)) {
            foreach ($servers as $serverkey => $curServer) {
              if (!empty($curServer['realm']) && $server == 
$curServer['realm']) {
                // We found an entry, now set IMAP server values.
                foreach (array('server', 'folders', 'namespace',
                  'protocol', 'port', 'smtphost', 'smtpport', 'maildomain') as 
$key) {
                  if (isset($servers[$serverkey][$key])) {
                    $_SESSION['imp'][$key] = $servers[$serverkey][$key];
                  }
                }
                // Now use only the stripped version of the userID to logon to 
the server
                $_SESSION['imp']['user'] = $userID;
                // Setup the correct base_protocol
                $_SESSION['imp']['base_protocol'] = 
$_SESSION['imp']['protocol'];
                if (($pos = strpos($_SESSION['imp']['protocol'], '/'))) {
                  $_SESSION['imp']['base_protocol'] = 
substr($_SESSION['imp']['protocol'], 0, $pos);
                }
              }
            }
          }
        }
        return true;
    }
}

...

horde/imp/config/servers.php

$servers['svr1'] = array(
    'name' => 'SVR1',
    'server' => 'SVR1.ece.ufl.edu',
    'hordeauth' => true,
    'protocol' => 'imap/ssl/novalidate-cert',
    'port' => 993,
    'maildomain' => 'one.ece.ufl.edu',
    'smtphost' => 'smtp1.ece.ufl.edu',
    'smtpport' => 25,
    'realm' => '',
    'preferred' => 'true',
);
 
$servers['svr2'] = array(
    'name' => 'SVR2',
    'server' => 'SVR2.ece.ufl.edu',
    'hordeauth' => true,
    'protocol' => 'imap/ssl/novalidate-cert',
    'port' => 993,
    'maildomain' => 'two.ece.ufl.edu',
    'smtphost' => 'smtp2.ece.ufl.edu',
    'smtpport' => 25,
    'realm' => 'two.ece.ufl.edu',
    'preferred' => '',
);


i can login a user on svr1 but only if i do not include the domain part 
(@svr1.ece.ufl.edu) and when i try to include the domain part for svr2 there is 
no logon attempt on the svr2 server from webmail, so its not even trying...let 
me know what else to post to assist, thanks in advance...id like to put in a 
few different domains that are selected automatically depending on @domain.tld 
in the username.

--
Jason Kawaja, 2-4568
UF Dept of ECE




-- 
imp mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]

Reply via email to