
            Courier-IMAP - logo by Bas Boudrie <bboudrie@hetnet.nl>

   Copyright   1999-2002,   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 Maildirs. 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  originally
   introduced  in  the  Qmail  mail server, and adopted as an alternative
   mail  storage format by both Exim and Postfix. Courier-IMAP is popular
   on  Qmail/Exim/Postfix  sites that are configured to use maildirs. The
   primary advantage of maildirs is that multiple applications can access
   the  same Maildir simultaneously without requiring any kind of locking
   whatsoever.  It  is  a faster and more efficient way to store mail. It
   works  particularly  well  over  NFS,  which  has  a  long  history of
   locking-related woes.

   This  is  the  same  IMAP  server  that's included in the Courier mail
   server,  but  configured  as a standalone IMAP server that can be used
   with  other  mail  servers  -  such  as Qmail, Exim, or Postfix - that
   deliver to maildirs. If you already have Courier installed, you do not
   need  to  download this version. If you install this version, you must
   remove  it  if  you  later  install  the  entire  Courier server. It's
   possible  to  have  both  versions  installed, but this will require a
   delicate juggling act that you'll have to learn on your own.

   Courier-IMAP  implements  several 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, and has a greatly
       reduced memory footprint.
     * Abstract  authentication  modules.  Authentication of login userid
       and  password  is wrapped up into a completely stand-alone module.
       Several modules are provided to authenticate using the traditional
       password/shadow  files,  via  the  PAM  library, from a table on a
       MySQL server, or from an LDAP server (requires MySQL or OpenLDAP).
       An  experimental  authentication  module  for  PostgreSQL  is also
       available.  You  can  also  write  your own custom userid/password
       validation  program. A "custom" authentication module is included,
       which authenticates absolutely nothing. Add your own code to it in
       order to implement a site-specific authentication mechanism.
     * Virtual  mailboxes. 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  the  maximum number of IMAP logins, and the
       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  folders. With additional server-side setup, folders can be
       shared between groups of accounts.
     * IMAP  over  SSL.  If  OpenSSL  is  installed,  Courier-IMAP  will,
       optionally,  accept  IMAP  connections over SSL. The IMAP STARTTLS
       extension is also implemented.
     * IPv6 support, if available.
     * IMAP  extensions  that  implement server-side sorting. This can be
       optionally disabled in environments that have limited resources.
     * Optional   support   for  sorting  and  searching  in  non-English
       character sets. Non-English character set tables are optional, and
       will   not  take  up  any  additional  overhead  unless  they  are
       specifically  included.  Download the source code to obtain a list
       of currently supported character sets.
     * A  compatible  POP3  server  is  also included in the Courier-IMAP
       package,  that  uses  the  same  authentication  modules. The POP3
       server can only access the INBOX, and cannot access any folders.

   The overall design goal of Courier-IMAP is to provide IMAP services to
   maildirs with the least amount of resources. For this reason there are
   many  parameters that can be tuned during initial configuration and at
   runtime.  Unwanted components can be removed completely, and they will
   not  take  up  any  resources.  Few  sites  need the ability to search
   messages  in  twenty  different  character sets, so there's no need to
   waste  memory  storing  large character set mapping tables. Sites that
   need  multilingual  searching  and  sorting  abilities can selectively
   choose  which  character  set  tables will be supported by the server,
   individually.  If  SSL support is needed, it is available. If not, the
   SSL  wrapper  does not have to be installed at all. If the server does
   not   have  the  sufficient  resources  to  sort  large  folders,  the
   server-based IMAP sorting function can be turned off.

Download

   Download Courier-IMAP from
   http://www.courier-mta.org/download.php#imap

CVS Repository

   The  source  code  of  the  standalone  Courier-IMAP  version  is also
   available     from     an     anonymous     CVS     repository.    See
   http://courier.sourceforge.net/status.html for more information.

Mailing list

   Subscribe     to     the     courier-users     mailing    list    from
   http://lists.sourceforge.net/mailman/listinfo/courier-users, or send a
   message   to   <courier-users-request@lists.sourceforge.net>  and  put
   "subscribe" in the subject line.

   This  mailing list does not accept mail from non-subscribers. You must
   subscribe to the list before sending any messages.

  RPM installation notes

   It  is possible to create binary RPM packages directly from the source
   code  tarball.  A  source  RPM is not required. RPM 3.0.3 or higher is
   required.  IMPORTANT:  even  though  building  an  RPM  saves  you the
   headaches  of  manually  compiling the code, you should still read the
   INSTALL file as it contains many important details you need to know.

   Just  as  the source cannot be compiled by root, the Courier-IMAP RPMs
   cannot  be  built  as  root  either.  However,  by default, RPM is not
   configured  to  be  used  for building software as a non-root user. It
   will  be necessary to make some minor changes to the RPM configuration
   to  enable  building  as  a  non-root  user.  See  the  FAQ  for  more
   information.

   To build a binary RPM package, enter:
rpm -ta courier-imap-1.4.3.tar.gz

   This builds the following packages:

     * courier-imap - the base package.
     * courier-imap-ldap   -   subpackage   that   includes  support  for
       authenticating from an LDAP directory.
     * courier-imap-mysql   -   subpackage   that  includes  support  for
       authenticating from a MySQL database.
     * courier-imap-pgsql   -   subpackage   that  includes  support  for
       authenticating from a PostgreSQL database.

   The  INSTALL  file  in  the  Courier-IMAP  package contains additional
   information  about  LDAP,  PostgreSQL and MySQL authentication. If the
   build  system  does not have the required libraries (see INSTALL for a
   list of requirements), these subpackages will be empty.

   NOTE:  The  binary  RPM  will not install if you use a PAM library and
   have  another IMAP or a POP3 server installed. The binary RPM installs
   its own /etc/pam.d/imap and /etc/pam.d/pop3 configuration files, which
   are  likely  to  conflict with the PAM configuration file from another
   IMAP  or  POP3  server.  If you previously installed another IMAP or a
   POP3  server without using RPM, Courier-IMAP will successfully install
   and   immediately   overwrite   your   existing   /etc/pam.d/imap  and
   /etc/pam.d/pop3 files.

   On  systems  that use inetd (such as Red Hat 6.2 or earlier), you will
   also  have  to  manually  delete  the  imap  and  pop-3  entries  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.

   On systems that use xinetd (such as Red Hat 7.0 and later), any xinetd
   entries for imap and pop3 ports must be disabled.

   If the default options in the RPM build need to be changed, proceed as
   follows:

   Copy  courier-imap-1.4.3.tar.gz  to your %{_topdir}/SOURCES directory,
   extract   the   file   courier-imap.spec,   then   copy   it  to  your
   %{_topdir}/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.
     * 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

   The  book  Postfix  talks about configuring the Postfix mail server to
   deliver to Maildirs, for Courier-IMAP.

   Courier-IMAP  +  Maildrop  +  QMail  with Virtual Domains HOWTO - self
   explanatory.

   http://www.gallowglass.org - how to setup your own private CA and then
   generate signed SSL certs for POP and IMAP over SSL.

   Install  and  Test  Qmail  with POP, IMAP and WebMail - a step by step
   tutorial on setting up a turn-key mail server.

   Qmail  FreeBSD  toaster  -  another step by step tutorial, this one is
   based on FreeBSD.

   Qmail  VMailMgr  and  Courier-IMAP  HOWTO - extensive documentation on
   integrating  Courier-IMAP  with the Qmail mail server and the VMailMgr
   virtual domain manager.

   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.

   A   patch   to   use   DRAC   with   Courier-IMAP   is   available  at
   http://aelyn.hell-city.org/courier-imap-popd-drac.patch.

   SecurityFocus's  article titled "Clear Text Communication: Slaying the
   Beast  Part  II"  talks  about  general  issues  concerning E-mail and
   security. Courier-IMAP is briefly mentioned in this article.
     _________________________________________________________________

   Sam Varshavchik <mrsam@courier-mta.com>
