Dovecot
Dovecot is an open source IMAP and POP3 email server for Linux/UNIX-like systems, written with security primarily in mind. Dovecot is an excellent choice for both small and large installations. It's fast, simple to set up, requires no special administration and it uses very little memory.
Some of the most notable features of Dovecot include:
Dovecot is among the highest performing IMAP servers while still supporting the standard mbox and Maildir formats. The mailboxes are transparently indexed, which gives Dovecot its good performance while still providing full compatibility with existing mailbox handling tools.
Dovecot is standards compliant. Dovecot v1.1 passes all IMAP server standard compliancy tests while most other servers fail many of them.
Dovecot's indexes are self-optimizing. They contain exactly what the user's client commonly needs, no more and no less.
Dovecot is self-healing. It tries to fix most of the problems it notices by itself, such as broken index files. The problems are however logged so the administrator can later try to figure out what caused them.
Dovecot tries to be admin-friendly. Common error messages are made as easily understandable as possible. Any crash, no matter how it happened, is considered a bug that will be fixed.
Dovecot allows mailboxes and their indexes to be modified by multiple computers at the same time, while still performing well. This means that Dovecot works well with clustered filesystems. NFS has caching problems, but you can work around them with director proxies.
Dovecot's user authentication is extremely flexible and feature-rich, supporting many different authentication databases and mechanisms.
Postfix 2.3+ and Exim 4.64+ users can do SMTP authentication directly against Dovecot's authentication backend without having to configure it separately.
Dovecot supports easy migration from many existing IMAP and POP3 servers, allowing the change to be transparent to existing users.
Dovecot supports workarounds for several bugs in IMAP and POP3 clients. Since the workarounds may cause the protocol exchange to be slightly less optimal, you can enable only the workarounds you need.
Dovecot's design and implementation is highly focused on security. Rather than taking the traditional road of just fixing vulnerabilities whenever someone happens to report them, I offer 1000 EUR of my own money to the first person to find a security hole from Dovecot.
Dovecot is easily extensible. Plugins can add new commands, modify existing behavior, add their own data into index files or even add support for new mailbox formats. For example quota and ACL support are completely implemented as plugins.
Plugins
Quota
#conf.d/90-quota.conf
plugin {
#quota = dict:User quota::file:%h/mail/dovecot-quota
quota = maildir:User quota
#quota_rule = *:storage=500MB
quota_exceeded_message = Quota exceeded, please go to http://www.example.com/over_quota_help for instructions on how to fix this.
}
AutoCreateFolder
#conf.d/20-imap.conf
protocol imap {
mail_plugins = $mail_plugins imap_quota autocreate
}
plugin {
autocreate = Trash
autocreate2 = Spam
#autocreate3 = ..etc..
autosubscribe = Trash
autosubscribe2 = Spam
#autosubscribe3 = ..etc..
}
Sieve
#conf.d/20-lmtp.conf
...
protocol lmtp {
# Space separated list of plugins to load (default is global mail_plugins).
mail_plugins = $mail_plugins sieve
}
Passwords
see Coverting MD5 to SSHA256 passwords via postlogin-script
Links
- http://wiki2.dovecot.org/Authentication/PasswordSchemes
- http://wiki2.dovecot.org/Migration/MailFormat
- http://wiki2.dovecot.org/Quota/Configuration