$default->LDAP_dn = o=someorg,c=US;
$default->LDAP_search_field = uid;
$default->ldap_choose_server = true;
对mailbox.php3打一个下面的补丁:
Index: mailbox.php3
===================================================================
RCS file: /home/cvs/imp/mailbox.php3,v
retrieving revision 2.29
diff -c -r2.29 mailbox.php3
*** mailbox.php3 1999/07/29 07:20:00 2.29
--- mailbox.php3 1999/08/04 18:04:10
***************
*** 29,34 ****
--- 29,51 ----
require ./lib/mimetypes.lib;
require ./config/defaults.php3;
+ /************LDAP**************/
+
+ if ($default->ldap_choose_server) {
+ $ldapconnect = ldap_connect($default->LDAP_server);
+ if ($ldapconnect) {
+ print("YES!
");
+ $ldapbind = ldap_bind($ldapconnect);
+ $ldapsearch = ldap_search($ldapconnect, $default->LDAP_dn,
+ $default->LDAP_search_field."=".$imapuser, array("maildrop"));
+ $ldapget = ldap_get_entries($ldapconnect, $ldapsearch);
+ $ldapspl = explode("@", $ldapget[0]["maildrop"][0]);
+ $server = $ldapspl[1];
+ $port = $default->port;
+ }
+ }
+ /**********end ldap************/
+
+
/* Html styles configuration */
require ./config/html.php3;
/* Mailbox configuration */
这些做完后,你已经有了高可扩展性的web mail解决方案了.
注意: 在1999年8月5日后,IMP的开发版本已经包括了这些补丁,因此上面的这些修改就没有必要进行了.
4. 其他
4.1 添加用户
下面是一段程序,可以用来在LDAP目录中添加一个用户和在cyrus中添加一个mailbox.这是为单个imap服务器设计的,但可以很容易地改变成为应用多台服务器的方式.
注意:因为还存在一个BUG,所以没有能够可靠地支持encrypted密码,现在是用明文密码来代替.