Appearance
IMAP Configuration
Dovecot was optimized since the beginning to work as an efficient IMAP server.
Namespaces
See Namespaces.
IMAP Extensions
Dovecot supports many IMAP extensions.
COMPRESS
Dovecot supports the IMAP COMPRESS (RFC 4978) extension.
It allows an IMAP client to dynamically enable stream compression for an IMAP session.
The extension is enabled by default and configured with the default compression level for the available mechanism.
When the client connection comes through a Dovecot proxy, the compression is by default handled by the proxy instead of the backend's imap process. See imap_compress_on_proxy.
SEARCH=FUZZY
IMAP provides SEARCH as part of the core protocol, so it is useful to activate a Full Text Search indexing driver to handle these searches.
See fts plugin.
METADATA
Dovecot supports the IMAP METADATA extension (RFC 5464), which allows per-mailbox, per-user data to be stored and accessed via IMAP commands.
See imap_metadata for configuration instructions.
Storing Metadata in SQL Dictionary
You can store metadata into a database. This works best with a dedicated table for storing the entries.
sql
-- Since username is a primary key, it is required to have some value.
-- When empty, it means that the value applies to keys with 'shared/' prefix.
-- Keys with 'priv/' prefix are expected to have a non-empty username.
CREATE TABLE metadata (
username VARCHAR(255) NOT NULL DEFAULT '',
attr_name VARCHAR(255) NOT NULL,
attr_value TEXT,
PRIMARY KEY(username, attr_name)
);dict_server {
dict metadata {
driver = sql
sql_driver = mysql
dict_map $key {
sql_table = attr_priv
username_field = username
key_field attr_name {
value = $key
}
value_field attr_value {
}
}
}
}
mail_attribute {
dict proxy {
name = metadata
}
}SPECIAL-USE
No special-use mailboxes are configured by default. However, you can use @mailbox_defaults group to include the recommended default mailboxes with special-use flags configured. Alternatively, you can configure the mailbox settings explicitly with mailbox_special_use.
PREVIEW
Dovecot supports the PREVIEW extension (RFC 8970), retrieved via the IMAP FETCH command.
The extension is enabled by default. Preview text is generated during message delivery and is stored in the Dovecot index files.
NOTIFY
URLAUTH:
Set imap_urlauth_host and mail_attribute.
IMAP Hibernation
Dovecot supports moving connections that have issued IDLE to a special holding process, called imap-hibernate. This process is responsible for holding the idling connections until they issue some command that requires them to be thawed back into a (new) imap process. This way, memory and CPU resources are saved, since there is only one hibernation process.
Configuration
IMAP hibernation is enabled by default in Dovecot Pro. imap_hibernate_timeout can be used to adjust the delay before moving users to imap-hibernate process.