OpenBSD Journal

[BookReview] Managing IMAP

Contributed by Dengue on from the mullets dept.

Where was this book a year ago when I first installed Cyrus IMAP? I spent more time looking for documentation than I actually spent installing and configuring it to provide mail services. Until now I have been unable to find a single comprehensive source of information on installing, configuring and using IMAP. Like I said, until now.

Managing IMAP
By Dianna Mullet & Keith Mullet
Forward by Mark Crispin
Copyright © 2000 O'Reilly & Associates, Inc.
ISBN 0-596-00012-X
$51.95 CAN, $34.95 US
390 pages

Managing IMAP provides that single source of information for systems programmers, implementers, and administrators. It is an excellent resource, providing an overview of the IMAP protocol, comparisons with POP, a review of freely available IMAP clients, and extensive coverage of both CMU's Cyrus IMAPD and Washington University's UW-IMAP.

Managing IMAP makes no bones about its stand on the Open vs. Proprietary mail protocols issue. Throughout the book, the authors point to examples of why open protocols are desired over vendor specific shrink-wrapped solutions. If you are planning, or presenting a case for moving to an open standards based email solution, then you are the audience for whom this book was written. A lot of coverage is given to black-box vs. clear-box implementations, and the pros and cons of both the Cyrus IMAPD and UW-IMAPD are well covered, along with client requirements and assocaited administrative issues. The Cyrus Server gets the most press, deservedly so, due to it's greater complexity.

Pine users will rejoice, with a lot of information on configuring what was, until recent security issues, my mail client of choice.

Web-based IMAP clients are also given treatment, with a discussion of the strengths and weaknesses of the Web-based mail model. Throughout Managing IMAP are helpful feature matrices for both host-based and web-based IMAP clients. The host-based client list is a little lean, the only true UNIX mail application reviewed was Pine. Conspicuously absent were Java email clients. A quick search of turned up two, ICEMail , and Polarbar , both of which are out of the 0.* release infancy stage, free, and in the case of ICEMail, open source.

Managing IMAP is broken down logically, like most O'Reilly books, it is organized so the reader can lookup information quickly.

  1. IMAP Fundamentals
    1. The Internet Mail Model
    2. What is IMAP
    3. Anatomy of an IMAP Session
  2. IMAP Mail User Agents (MUAs)
    1. IMAP Clients
    2. Web-Based IMAP Clients
  3. The Cyrus IMAP Server
    1. Introduction to the Cyrus IMAP Server
    2. Installing the Cyrus IMAP Server
    3. Configuring the Cyrus Server
    4. Cyrus System Administration
  4. The UW IMAP Server
    1. Introduction to the UW IMAP Server
    2. Installing UW IMAP
    3. UW System Administration
  5. Other Topics
    1. Addressing IMAP Security
    2. Running a Dedicated Server
    3. Server-Side Mail Filtering
    4. Server Performance Tuning
    5. Remote Configuration Storage
    6. IMAP Tools
  6. Appendixes
    1. Conversion from Berkeley Mail Format
    2. Adding SSL Support to IMAP
    3. IMAP Commands

In particular, I found Appendix B quite useful, easily detailing SSL setup for IMAPD. Unfortunately most email clients fail to support Kerberos, which is a shame, given the seamless integration of Kerberos into OpenBSD. This makes SSL wrapping IMAPD an excellent alternative. Chapter 9 was also quite helpful considering the dearth of Cyrus documentation available.

If you are looking at IMAP as a mail service, or if you are using Cyrus IMAP, I highly recommend this book. My copy is already becoming pretty dog-eared.

(Comments are closed)

  1. By grumpy old man () on

    > Unfortunately most email clients fail to support Kerberos, ...

    Which ones do?

    1. By Mark Hellewell () on

      > Which ones do?

      Microsoft *phooey* Outlook/Express on Windows


      1. By David Pereira () on

        Outlook does not contain any Kerberos support whatsoever.

        1. By Lennie ( on

          But windows does and Outlook support Windows-authentication with for example Exchange (but I don't think it can do the Kerberos+IMAP combo, it is however a Kerberos capable and IMAP-capable client).

    2. By james phillips () on file:/dev/urandom

      Pine offers Kerberos v4 support.

      1. By nicotine () on

        Yeah, but the pine port/package is missing from OBSD 2.7. No, I haven't tried compiling the source due to the error that I got trying to run it on 2.6.

    3. By Matthew Weigel () on

      Pine: there are patches (generated at CMU no less :) for KerberosIV support in versions prior to 4 (i.e., it works for pine3.96), and 4.x supports KerberosV out of the box.

      Mulberry: Linux (x86 & PPC) and Solaris (x86 & sparc) versions are being beta-tested. Carnegie Mellon and the University of Pgh both use it with KerberosIV, but I can't seem to find mention of it on their website ( ). They do, however, advertise support for SSL.

      I don't know of any others that support Kerberos IMAP under UNIX. However, it shouldn't be hard to add support to free software.

      1. By Janne Johansson () on

        There was this client called "Simeon" that changed
        name to "Execmail" and later got cancelled in favor
        of making mailserver programs. It supported
        KRB4-imap from the start, and lots of platforms.

        Then there's always Fetchmail that sort of takes
        the advantages away from using imap, but afaik it
        will make it possible to collect mail using krb4-
        imap as well as krb4-pop.

    4. By Tom ( on

      Mail.App on macosx does support kerberos version 4 and 5.

  2. By Frank Denis () on

    If you have to implement an imap server, have a look at DBMail.
    I usually don't like SQL databases especially for things that need high concurrency, but DBMail is an exception.
    Everything, including mail, is stored in a database, thus making it very easy to maintain. Want to delete every mail send by a specific address ? One SQL query is enough. Very convenient.
    It's also trivial to setup and it scales quite well given you use InnoDB or PostgreSQL.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]