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.
AddToMe: you can log into multiple servers based on vhost: edit the array in /etc/imp3/servers.conf
Set $conf['hooks']['vinfo'] = 'imp_get_vinfo'; 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.
You need to upgrade your version of PHP if you're getting errors such as
Fatal error: Call to undefined function: is_a() in /var/www/webmail2/horde/lib/base.php on line 35
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-4.2.0 PHP?) or upgrade your PHP installation.
3 pages link to IMP: