Dovecot project is an open source POP3 and IMAP server for Linux/UNIX-like systems, written with security primarily in mind. Although it's written in C, it uses several coding techniques to avoid most of the common pitfalls.
Dovecot can work with standard mbox and maildir formats and it's fully compatible with UW-IMAP and Courier IMAP servers' implementation of them as well as mail clients accessing the mailboxes directly.
It's easy to migrate from them to Dovecot. I have also plans to support storing mails in SQL databases.
Dovecot is easy to set up and doesn't require special maintenance. Only thing you need is to get the authentication working properly - if your users are in /etc/passwd there's hardly anything you have to do.
Dovecot should be pretty fast. There are still some optimizations that could be done, but I believe it already beats most other IMAP servers in overall performance.
This is mostly because of index files that Dovecot maintains; instead of having to scan through all the data in mailbox, Dovecot can get most of the wanted information from index with little effort.
Dovecot's indexes can scale to huge amount of messages per mailbox with hardly any noticeable slowdown. I've tested only up to 367000 mails, but millions of messages should be no problem.
Dovecot takes very little memory. Most of it goes to mmap()ed index and mailbox files, meaning that if operating system is low on memory, it can simply drop those memory pages without having to store them in swap.
Connections are handled in separate processes, each one currently using around 100kB of swappable memory. Some extensions like SORT and THREAD will require more memory to work though.
Dovecot is fail safe. Indexes could potentially be quite a large problem maker, but Dovecot does sanity checks to all data before using it to avoid crashes and other problems.
Any kind of crash is considered as bug and will be fixed - even if it happens only by deliberately poking the index files.
Product's homepage
Here are some key features of "Dovecot":
· Dovecot should be quite ready for use with normal IMAP clients.
· Complete IMAP4rev1 support.
· Supports THREAD and SORT extensions, required by many IMAP webmails.
· Complete TLS/SSL support
· IPv6 ready.
· Shared mailboxes aren't yet supported.
· Maildir quota isn't yet supported. Hard filesystem quota can also be problematic.
What's New in This Release: [ read full changelog ]
· Added mail_temp_scan_interval setting and changed its default value from 8 hours to 1 week.
· Added pop3-migration plugin for easily doing a transparent IMAP+POP3 migration to Dovecot: http://wiki2.dovecot.org/Migration/Dsync
· doveadm user: Added -m parameter to show some of the mail settings.
· Proxying SSL connections crashed in v2.1.[23]
· fts-solr: Indexing mail bodies was broken.
· director: Several changes to significantly improve error handling
· doveadm import didn't import messages' flags
· mail_full_filesystem_access=yes was broken
· Make sure IMAP clients can't create directories when accessing nonexistent users' mailboxes via shared namespace.
· Dovecot auth clients authenticating via TCP socket could have failed with bogus "PID already in use" errors.