Search K
Appearance
Appearance
Dovecot was optimized since the beginning to work as an efficient IMAP server.
See Namespaces.
Dovecot supports many IMAP extensions.
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.
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.
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.
You can store metadata into a database. This works best with a dedicated table for storing the entires.
-- 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 VARCHAR(65535),
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
}
}
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
.
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.
Set imap_urlauth_host
and mail_attribute
.
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.
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.