[imp] Vritual Domain what to use?
Patrick Domack
patrickdk at patrickdk.com
Wed Sep 30 17:11:53 UTC 2009
This should work alittle bit better, just incase a user uses his full
email address to login it won't fail.
if (!function_exists('_imp_hook_vinfo')) {
function _imp_hook_vinfo($type = 'username')
{
$vdomain = getenv('HTTP_HOST');
$vdomain = preg_replace('|^(web)?mail\.|i', '', $vdomain);
$vdomain = String::lower($vdomain);
if ($type == 'username') {
if(strpos($_SESSION['imp']['user'],'@')===false)
return $_SESSION['imp']['user'] . '@' . $vdomain;
else return $_SESSION['imp']['user'];
} elseif ($type == 'vdomain') {
return $vdomain;
} else {
return PEAR::raiseError('invalid type: ' . $type);
}
}
}
Quoting Wayne Catterton <ciscoswitch at putercom.org>:
> I got this piece to work, here's what I did:
>
> horde/imp/config/conf.php
>
> $conf['hooks']['vinfo'] = true;
>
> horde/imp/config/hooks.php
>
>
> if (!function_exists('_imp_hook_vinfo')) {
> function _imp_hook_vinfo($type = 'username')
> {
> $vdomain = getenv('HTTP_HOST');
> $parts = explode(".",$vdomain);
> $rparts = array_reverse($parts);
> $vdomain = $rparts[1] . '.' . $rparts[0];
> $vdomain = String::lower($vdomain);
> $imp_user = Util::getFormData('imapuser');
> if ($type == 'username') {
> // return preg_replace('|\.|', '', $_SESSION['imp']['user'] .
> '@') . $vdomain;
> return $imp_user . '@' . $vdomain;
> } elseif ($type == 'vdomain') {
> return $vdomain;
> } else {
> return PEAR::raiseError('invalid type: ' . $type);
> }
> }
> }
>
> Then in horde/imp/config/servers.php
>
> $servers['Imap'] = array(
> 'name' => 'Imap Server',
> 'server' => 'localhost',
> 'hordeauth' => 'full',
> 'protocol' => 'imap/notls',
> 'port' => 143,
> 'realm' => '',
> 'preferred' => true,
> 'smtphost' => 'domain.com',
> 'smtpport' => 25,
> );
>
> This seems to work pretty well, I've tested it with the 2 domains I have
> running, and all seems to work ok.
>
>> Ok,
>>
>> Now that I got my slowness problem resolved, I have yet another. I'm
>> using IMP for authentication, and it's authenticating via IMAP. If I
>> login with username at domain.com it works fine, but I want to be able to
>> just login with username. Squirrelmail had a plugin to do this where it
>> grabs the domain from the URL and appends it to the username
>> automatically. I can do the code for this without a problem, however I'm
>> confused on how to implement it, I've been reading up on hooks and stuff,
>> but it's still sorta cryptic, I don't know what to use for what and where,
>> if you know what I mean.
>>
>> I turned on the vinfo hook in imp and modified it to suit my needs, so it
>> displays properly the @domain.com after the username box, but I think
>> that's all it does, it doesn't actually append that on to the username
>> that you enter, so that it can sucessfully login via IMAP. I looked at
>> and fiddled around with the username_hook_tobackend and frombackend hooks,
>> but couldn't get anything to do anything for me.
>>
>> What's the best way to accomplish this?
>>
>> Thanks,
>>
>>
>> --
>> Wayne Catterton CCNA
>> Network Engineer
>> Scappoose, OR
>>
>> --
>> IMP mailing list - Join the hunt: http://horde.org/bounties/#imp
>> Frequently Asked Questions: http://horde.org/faq/
>> To unsubscribe, mail: imp-unsubscribe at lists.horde.org
>>
>
>
> --
> Wayne Catterton CCNA
> Network Engineer
> Scappoose, OR
>
> --
> IMP mailing list - Join the hunt: http://horde.org/bounties/#imp
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: imp-unsubscribe at lists.horde.org
>
More information about the imp
mailing list