Differences between version 5 and predecessor to the previous major change of IMP.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 5 | Last edited on Thursday, August 5, 2004 12:20:28 pm | by AristotlePagaltzis | Revert |
Older page: | version 3 | Last edited on Tuesday, October 14, 2003 5:49:06 pm | by CraigBox | Revert |
@@ -1,36 +1,45 @@
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
+!! Notes
-!Using multiple servers in imp
+! 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
+AddToMe:
you can log into multiple servers based on vhost:
edit the array in <tt>
/etc/imp3/servers.conf</tt>
-!Adding a prefix based on the domain
+! Adding a prefix based on the domain
-Set
-
$conf[
['hooks'][
['vinfo'] = 'imp_get_vinfo';
+Set <tt>
$conf~
['hooks']~
['vinfo'] = 'imp_get_vinfo';</tt> and create a function like so (__note:__ new syntax for 3.2.2)
-And create a
function like so
(NOTE: new syntax for 3.2.2
)
+<verbatim>
+if (!function_exists('imp_get_vinfo')) {
+
function imp_get_vinfo
($type = 'username'
) {
+ global $conf, $imp;
- 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)
;
-
$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
);
+ }
+ }
+}
+</verbatim>
- 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.
+This syntax is for MetaNet
Mail, where you log into [Cyrus] as <tt>
user@domain.tld</tt>
. It will remove <tt>
webmail.</tt>
from the vhost you connected from, and offer <tt>
@the.rest.of.it</tt>
as the suffix for the login, so you only have to enter <tt>
user</tt>
into the webmail box.
Smarter people can make it domain by domain specific by editing the function.
+
+! Errors using the alpha version of IMP/Horde
+
+You need to upgrade your version of [PHP] if you're getting errors such as
+
+<verbatim>
+Fatal error: Call to undefined function: is_a() in /var/www/webmail2/horde/lib/base.php on line 35
+</verbatim>
+
+<tt>is_a()</tt> 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.