suggestion need to design an email system.

Jens Hoffrichter jens.hoffrichter at gmail.com
Wed Sep 17 09:33:58 EDT 2008


Hi all,

I know I will take some heat for this (as I know this is a cyrus
mailinglist), but I'm going to offer some points for dovecot. I'm all
for informed decisions, where one can weigh points against each other
and decide on that basis.

First of all, I have administrated both courier and cyrus imap in a
production environment (with cyrus scaling up way beyond 100k
mailboxes), and I have made recently some tests with dovecot (I
haven't seen it yet in production), which I found quite interesting.

I noticed that dovecot and cyrus don't differ that much in speed to
each other. Both seem to excel at certain points, while being weaker
at another. But overall the performance on a huge mailbox seemed to be
comparable. Dovecot seemed to be slightly better at searching in the
mailbox, esp. searching for common terms you have searched for before,
selecting of single mailboxes and downloading all headers of a
mailbox, while cyrus seemed to be slightly better in getting the
structure of a mailbox (the "(FLAGS INTERNALDATE RFC822.SIZE ENVELOPE
UID BODYSTRUCTURE)" fetch command, which seems to be commonly used by
mailclients.

What really intrigued me about dovecot was the ability to run on
standard mailbox formats, which may not be much of an issue when
running in a pure cyrus environment, but is a huge plus when migrating
from another server. Especially the "self-healing indexes" which were
built on first use of a mailbox, and not using a reconstruct. So
getting dovecot to run was very simple. And I like programs which take
a common format, and don't think they need to re-invent the wheel.

Another thing which really intrigued me was the inherent
cluster-ability of dovecot, which is a huge PITA to get to run on
cyrus (as I have just implemented it a couple of months ago). Yet I
only have read about it in the documentation, and not actually seen it
in action. But at least they thought about running on a clustered file
system........

And the last thing is SASL. Dovecot needs no SASL, it brings
authenticators for a variety of sources, and offers postfix and exim
auth mechs as well. This may be a very personal thing, but if I can
work around SASL, I'm very, very glad about that. SASL may offer
everything you may need in a century of running a mailserver, but
getting it to run is just painful, and debugging is non-existant (at
least the last time I tried to implement it, which is a couple of
years ago. Since then I worked around the issue whereever I could).

Cyrus has undisputed the broadest implementation of the IMAP protocol
in the open source world, especially regarding shared folders. If you
need that, there is no way around cyrus. It has a very broad user
base, and has proven itsself to be quite solid in terms of scalability
and stability. Dovecot has yet to prove that (at least to me).

If I personally had the chance, I would give dovecot a shot, at least
in a testing environment. But probably mostly out of curiosity, and
because "Its new" ;) But except for the missing support for shared
mail folders, I see no real reasons against dovecot, at least not for
giving it a try.

And please don't take this as a personal insult to all hardcore cyrus
evangelist. I tried to be just and unbiased, and after all, it is MY
PERSONAL OPINION. On this mailinglist, you don't need one more person
voting for cyrus, there are enough of those........ ;)

Jens


More information about the Info-cyrus mailing list