suggestion need to design an email system.

Jens Hoffrichter jens.hoffrichter at
Wed Sep 17 11:40:24 EDT 2008

Heya :)

2008/9/17 Adam Tauno Williams <adam at>:

>> 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.
> Do you have SQUAT enabled on Cyrus?  Are you sure that the IMAP client
> in question sends searches to the server (aka: not using Thunderbird)?
Nope, I hadn't enabled squat there. It was a plain Debian default
install for all the three mailservers. And I don't see this values as
the absolute truth, as they weren't done on a carefully engineered
test environment, but on a vmware I put together for that purpose. But
I noticed certain trends there, and I only will talk about them
instead of absolute numbers :)

And yes, I am certain that the search was sent to the server, as it
was a test script written on top of the python imap library, and I
measured times in there.

Again, I repeat, I don't take those numbers at a face value, but
rather wanted to get an overall impression, if it would be useful to
pursue dovecot instead of cyrus (and because a colleague of mine
emphasized always the point that cyrus is the fastest OSS IMAP server
out there, and I wanted to see that for myself ;) )

>> 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.
> I don't see why it is an advantage for migration.  Tools like imapsync
> don't care.
Certainly it doesn't do much for a smaller system. But today I
discussed with the same colleague about something I added to a
migration process which added 1s per mailbox to the migration
process.......And that became a huge issue. ;)

I don't think that an imap sync is the fastest way of doing a migrate
of a complete server.

But that is totally unrelated to the point I was trying to make, it
just came to my mind when talking about migration.

I really liked the fact that I could just stop courier on the vmware,
start dovecot and use the same mailstore without any conversion. It
would have been the same for an uw-imapd, with just a simple change in
the config file, instead of a conversion for all of my mailboxes. I
see that as a plus, and don't see anything negative there.

>> 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.
> I actually view this as a strong negative as it incentivises people to
> muck about in the mailstore rather than using the tool-chain.   All
> operations on a "real" server (IMO) should be performed via a tool and
> not by hacking about beneath the service.
Well, that is an issue about access rights management instead of imap
server things. If I allow my users to muck directly in their
mailstorage directories, I need to live with the consequences. For me,
everything done to a mailbox should be done through my imap server. So
on my servers, users don't have direct access to their mailbox (if
they have a unix user at all).

The point I was trying to make here: Why does cyrus need it's own
structure for the mailboxes, which is similar, but not wholly
compatible, to maildir. Maildir and cyrus both suffer from the same
disadvantages (huge needs in terms of inodes etc.), yet I see no
distinctive advantage for the cyrus mailbox format to maildir.
Contrary, I could restore a maildir mailbox including seen state
completely, even if my metadata crashes.

>> 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).
> Again, I just disagree.  Most SASL operations these days, "just work".
> And when using something like GSSAPI SASL is a nicely known quantity.
> Documentation of SASL is generally pretty bad, but hey, this is Open
> Source.  In general *ALL* the documentation is crap. :)
Well, as I said, I have given up on SASL like 4 years ago. I tried to
implement a simple authentication against a postgres database for
postfix, and I fiddled around for 3 days without coming anywhere near
a success.

I ended up emulating the saslauthd protocol from an external program,
which accesses the database directly. That worked like a charm, and
was considerably less work.

Since then, I never bothered with SASL ago until a couple of weeks
ago, when I tried to figure out how a lmtpproxyd authenticated against
a cyrus backend, and again I was left in the rain, with no real hints
where either one really took its password from. We switched to
not-authenticated ltmp then....

> Does Dovecot support:
>  - Delayed expunge
>  - Expiration (like ipurge)
>  - Single-instance storage
I honestly don't know ;) I haven't yet looked into those things, but
from what I read up to now, I only read that shared folders are the
biggest advantage of cyrus. So I suspect something like that is
implemented, at least for maildir. But I really don't know.

And what do you mean about single-instance storage?

>> 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........ ;)
> Yep. :)
Phew, that was less heat than I feared I would take. I hope you don't
mind an objective discussion, and I certainly belief that this
discussion could be useful for people who need to decide between IMAP

I don't think that there is a solution which fits it all, and reading
about possibilities might broaden up your point of view - which is
always good, imo.

As I said, I have no experience yet with dovecot in a production
environment, and after I have tried it I might say that it is total
crap. But it looks quite promising up to now.


More information about the Info-cyrus mailing list