This is an old revision of the document!
We chose Courier IMAP as our mail access agent (MAA) because it is easy to configure and maintain. It supports the IMAP4 and POP3 protocols, allowing mail user agents (MUAs) to get their email from the mail server. As the name suggests, IMAP is the primary protocol. IMAP has many advantages over POP; chief among them is support for folders, and keeping the emails on the server.
We (Jeff Muse and Craig Buchek mainly) chose Courier IMAP, as it's much easier to configure and maintain than Cyrus. Plus, there's good documentation on setting it up to work with Postfix at http://workaround.org/articles/ispmail-sarge and other sites.
(See this article for a description of all the pieces involved in email delivery.)
We need to install several pieces of the Courier email system. First, some pre-requisites:
apt-get install libfam0c102 courier-base courier-ssl courier-authdaemon
When asked if you want to use configuration directories, answer Yes.
Install the IMAP pieces, and the POP pieces:
apt-get install courier-imap courier-imap-ssl apt-get install courier-pop courier-pop-ssl
Install the recommended packages and documentation:
apt-get install courier-doc
TODO: Don't forget to create /etc/courier/pop3d.pem and /etc/courier/imapd.pem SSL certificates. TODO: Need to install on Budlight. TODO: Hook Postfix to deliver to Maildirs where Courier can pick it up. TODO: Test.
Mar 6 15:08:58 budlight cyrus/imapd[8947]: Fatal error: imaps: required OpenSSL options not present
Mar 6 15:08:59 budlight cyrus/pop3d[8950]: pop3s: required OpenSSL options not present Mar 6 15:09:01 budlight cyrus/imapd[8951]: imaps: required OpenSSL options not present Mar 6 15:09:02 budlight cyrus/imapd[8951]: Fatal error: imaps: required OpenSSL options not present Mar 6 15:09:04 budlight cyrus/imapd[8954]: imaps: required OpenSSL options not present
Certificates were made using the ssl-cert packages make-ssl-cert script. We had to edit the /usr/sbin/make-ssl-cert script and add the -days 3650 to the openssl command that actually creates the certificate, otherwise it defaults to 30 days (have not yet figured this one out).