This information is valid for Horde 4 only. See ImapSelectH3 for Horde 3 or ImapSelect for Horde 5 and later.
imp/config/hooks.php
class IMP_Hooks
{
public function preauthenticate($userId, $credentials)
{
//Horde::logMessage('authM: '.$credentials['authMethod'].' id='.$userId, 'ERROR');
//return true;
/* when no userId given */
if (empty($userId)) return true;
/* list of ALL remote users */
$remote_users = array('username@remoteserver.hu' => 'remote-imap-servers-key');
/* local user */
if (!array_key_exists($userId, $remote_users)) return true;
/* remote user */
return array('credentials' => array('server' => $remote_users[$userId],
'transparent' => true,
'password' => $GLOBALS['registry']->getAuthCredential('password')
)
);
}
}
Set server list to 'hidden' in Imp prefs, and all backend's hordeauth to full.