
                                 Courier-IMAP
                                       
   Copyright 1999-2000, Double Precision, Inc. This software is
   distributed under the terms of the GNU General Public License. See
   COPYING for additional information.
   
   Courier-IMAP is a server that provides IMAP access to Maildir
   mailboxes. This IMAP server does NOT handle traditional mailbox files
   (/var/spool/mail, and derivatives), it was written for the specific
   purpose of providing IMAP access to Maildirs.
   
   "Maildir" is a directory-based mail storage format. Multiple
   applications can access the same Maildir simultaneously without
   requiring any kind of locking whatsoever. It works particularly well
   over NFS, which traditionally is very problematic as far as locking is
   concerned.
   
   Courier-IMAP implements some extensions to the basic Maildir mail
   storage format in order to support some additional features, such as
   folders and "soft" quotas. This is done in a way that's backwards
   compatible with the standard Maildir users (although, of course, they
   will ignore the additional features). Other software that understands
   and uses the same Maildir extensions is SqWebMail, and maildrop.
   
Features

     * Extremely small footprint. On x86, Courier-IMAP's main daemon is a
       fraction of the size of the UW-IMAP server.
     * Abstract authentication modules. Authentication of login userid
       and password is abstracted into a completely stand-alone module.
       Several modules are provided to authenticate using the traditional
       password/shadow files, and by using the PAM library. An
       experimental authentication module for LDAP is also available. You
       can also write your own custom userid/password validation program.
       You can either do everything from scratch, such as obtaining the
       userid and password that Courier-IMAP wants to validate, and then
       returning a response; or, link with the authentication library
       that does that, leaving you to worry about just the task of
       authenticating it.
     * Virtual mailbox support. The userdb authentication module uses
       either a GBDM or DB database to map arbitrary userids to maildirs.
       Perl scripts are included to manage this database. There's also an
       authentication module that implements the vpopmail virtual mailbox
       implementation.
     * Ability to restrict maximum number of IMAP logins, and maximum
       number of logins from the same IP address. This will prevent
       denial-of-service attacks where the attacker attempts to overload
       the server with multiple login connections.
     * Shared folder support (BETA).
     * The name Courier-IMAP was chosen for a reason. At this time, I'll
       keep the reason to myself.
       
Download

   courier-imap-0.31-tar.gz
   
  RPM installation notes
  
   You can build a binary RPM directly from the tarball, so there's no
   reason to have a separate source RPM any more. Download
   courier-imap-0.31-tar.gz, then type "rpm -ta
   courier-imap-0.31-tar.gz". The tarball will be extracted, compiled,
   and built into a binary RPM, that can be installed using rpm -i or rpm
   -U. You need to have RPM 3.0 or higher.
   
   NOTE: The RPM will probably not install if you use a PAM library and
   have another IMAP server installed. The RPM installs its own
   /etc/pam.d/imap configuration file, which is likely to conflict with
   the PAM configuration file from another IMAP server. If you manually
   installed another IMAP server without using RPM, Courier-IMAP will
   successfully install and immediately blow away your previous
   /etc/pam.d/imap. In most cases, you will also have to manually delete
   the imap entry from /etc/inetd.conf as well. Courier-IMAP listens for
   client connections by itself. It doesn't need inetd, and you need to
   tell inetd to release that port.
   
   Additionally, the binary RPM will be built with the default options.
   Starting with 0.27, it means that if you have OpenLDAP libraries
   installed, authldap is going to get built. Fortunately, if you don't
   want LDAP authentication, you just have to remove the entry for
   authldap from imapd.config after installation, and there's no need to
   hack the tarball. But, if you need to change any other options from
   their defaults, you'll probably have to build the RPM manually. Here's
   how:
   
   Copy courier-imap-0.31-tar.gz to your SOURCES directory (usually
   /usr/src/redhat/SOURCES), extract the file courier-imap.spec, then
   copy it to your SPECS directory. Make your custom changes to the spec
   file, then run "rpm -bb courier-imap.spec".
   
   Also - if you are upgrading from the 0.14 or 0.15 RPMs, you may have
   to run the following command after upgrading from 0.14 or 0.15:
   /sbin/chkconfig --add courier-imap.
   
Documentation

   The following documentation is included in the Courier-IMAP
   distribution. It is presented here for your convenience.
     * ChangeLog
     * README: Installation and some general documentation
     * FAQ: Frequently Asked Questions
     * README.imap: Hints on configuring IMAP clients
     * authlib: Documentation on the authentication library used by
       Courier-IMAP. You want to read this if you would like to write
       your own authentication modules.
     * README.maildirquota: Enhancements by Courier-IMAP to the
       traditional Maildir format, and README.sharedfolders: How
       Courier-IMAP implements shared folders. These documents describe
       how Courier-IMAP implements various features that are not a part
       of the traditional maildir mailbox.
     * BUGS: known bugs.
       
Links

   There's a patch to use Courier-IMAP's authentication modules with
   Qmail's POP3 server, at
   http://homepages.strath.ac.uk/~ras97108/authpop/index.html.
   
Contacts

   I get surprisingly little mail concerning Courier-IMAP, and so far
   there isn't a real need to set up a mailing list. If the mail volume
   picks up, I'll set one up, but for now I'm happy to answer mail sent
   to the address listed in the AUTHORS file.
