Recommended IMAP server?

Gary Palmer gpalmer at freebsd.org
Wed Jun 27 05:42:13 UTC 2007


On Tue, Jun 26, 2007 at 10:14:32PM -0400, Michael W. Lucas wrote:
> Hi,
> 
> I find myself needing to implement IMAP on FreeBSD.  Any suggestions
> on the "preferred" IMAP server?
> 
> It appears that we have three "main" IMAP daemons in ports: imap-wu,
> cyrus-imapd, and courier-imap.  I need to pick one.  My mail system
> uses Sendmail+sasl2 and milter-greylist.  I want to stick as close to
> a "stock" FreeBSD as possible, so I'm not into reading users from LDAP
> or anything like that.
> 
> It seems that imap-wu lets you synch up to /var/mail/username, but
> only that.

Avoid UW IMAP.  If nothing else, last I heard it wasn't 64 bit clean
and there are various other well known issues with its implementation.
For example, there are race conditions with concurrent access to the same
folder that can lead to issues.

In general I'd advise to use a daemon that has one-file-per-message format
(e.g. cyrus, dovecot, etc) rather than mbox for scalability reasons (imagine
trying to delete a message in the middle of a several hundred megabyte
mbox "folder").  Also make sure that whatever you use builds an index of
each folder so that IMAP clients can load the folder summary quickly, else
you could very quickly run into performance problems if the daemon has
to scan every message in a folder to gather common information (e.g.
sender and subject)

Also think about other issues that might affect your implementation, e.g.
will you ever need to enforce quotas?  This is not as innocuous a question
as it seems as IMAP does not have a "move" command to move messages between
folders, you have to copy the e-mail, mark the old copy of the e-mail
as Deleted and then expunge it (this is normally all hidden transparently
from the user by the mail client).  This can play havoc with users
mailboxes if you use operating system quotas to enforce mailbox sizes.

Message expiration might also be a desirable feature, where you can
automatically "age out" (i.e. delete) messages from certain folders
after the e-mail has been in there for x days.  This can be useful to
keep Trash and Junk Mail/spam folders from growing out of control.

Will you be offering webmail?  Do you have a webmail selected already and
does it work well with your IMAP server?

I'm sure there are other considerations also, I'm just giving you a start
here to try and help the decision process.


More information about the freebsd-isp mailing list