IMP is the Internet Messaging Program. It is written in PHP and provides WebMail access to IMAP and POP3 accounts. Built on the Horde framework.
Based on vhost, you can log into multiple servers.. flesh me out, but basically edit the array in /etc/imp3/servers.conf
Set
And create a function like so (NOTE: new syntax for 3.2.2)
if (!function_exists('imp_get_vinfo')) {
function imp_get_vinfo ($type = 'username') {
global $conf, $imp;
$vdomain = getenv('HTTP_HOST'); $vdomain = preg_replace('|^webmail\.|i', '', $vdomain); $vdomain = strtolower($vdomain);
if ($type == 'username') {
return strtolower($_SESSION['imp'?['user'? . '@' . $vdomain);
} elseif ($type == "vdomain") {
return $vdomain;
} else {
return new PEAR_Error('invalid type: ' . $type);
}
}
}
This syntax is for Metanet Mail, where you log into Cyrus as user@domain.tld. It will remove webmail. from the vhost you connected from, and offer @the.rest.of.it as the suffix for the login, so you only have to enter 'user' into the webmail box.
Smarter people can make it domain by domain specific by editing the function.
If you're using the alpha version and getting errors such as
Fatal error: Call to undefined function: is_a() in /var/www/webmail2/horde/lib/base.php on line 35
this means you need to upgrade your version of PHP -- is_a() was introduced in PHP 4.2.0. You have to either revert to a really old version of PEAR (does PEAR even support pre-PHP 4.2.0?) or upgrade your PHP installation.
3 pages link to IMP: