Penguin
Note: You are viewing an old revision of this page. View the current version.

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.

Notes

Using multiple servers in imp

Based on vhost, you can log into multiple servers.. flesh me out, but basically edit the array in /etc/imp3/servers.conf

Adding a prefix based on the domain

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.

Using the alpha version of IMP/Horde

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.