Search K
Appearance
Appearance
Note: This is pre-release documentation.
Please access https://doc.dovecotpro.com/latest/ for documentation on released versions.
WARNING
Dovecot 2.3.x settings will NOT work unless the configuration is changed as described in this section.
The first setting in dovecot.conf
MUST now be dovecot_config_version
. This helps to avoid unexpected configuration changes in the future.
Another new required setting is dovecot_storage_version
. This helps to avoid unexpected storage file format incompatibilities.
Using dovecot_storage_version = 2.3.20
disables the new fts.S file format (the old fts_dovecot_message_count_stats=no
).
Unknown/invalid %{variables}
cause Dovecot errors. This may cause, e.g., authentication failures if the old (broken) behavior was relied on.
Passdb and userdb sections now require a name, i.e.:
# This gives an error:
passdb {
...
}
# Use this instead:
passdb some_name {
}
userdb fields can be set to empty value. Previously they became changed to yes
value.
Parameter | Notes |
---|---|
%{fail_type} variable to auth_policy_request_attributes | Variable was added. |
Feature | Notes |
---|---|
ARGON2 password scheme | Support for the ARGON2 password scheme was added. |
SCRAM-SHA-1, SCRAM-SHA-256 | Support SASL mechanisms for outgoing connections. |
X25519, X448 | mail-crypt plugin and Mail Crypt Plugin: fs-crypt now support these curves. |
See imapc_features
.
Feature | Notes |
---|---|
no-qresync | Parameter was added. |
See LDAP authentication.
Feature | Notes |
---|---|
%{ldap_multi} variable | Variable was added to LDAP configuration file to allow for fetching a multi-valued attribute. |
Added base64url format to hash modifier in variable expansion. Example: %{sha1;format=base64url:username}
. See Variable Modifiers.
Parameter | Notes |
---|---|
log_retries | Parameter was added. |
metacache_forced_refresh_interval
auth_internal_failure_delay
fts_message_max_size
login_socket_path
quota_mailbox_count
quota_mailbox_message_count
submission_add_received_header
cassandra_log_retries
Feature | Replacement |
---|---|
License Plugin | Plugin has been removed and the license_checksum setting is marked obsolete. |
Dovecot director role | Replaced with the Dovecot Pro Palomar architecture. |
Global ACL directory | Use acl instead. See below for details on migration. |
IMAP SETQUOTA command | Quota limits can no longer be modified using the IMAP SETQUOTA command. The set_quota setting has been removed. |
IPC process | Has been merged to anvil. |
OpenSSL support for older than 1.0.2 | Older versions are not supported anymore. |
Sieve extensions: notify , imapflags , vnd.dovecot.duplicate | These deprecated Sieve extensions have been removed. |
ssl-parameters.dat | This file is no longer converted automatically by config process, you need to set ssl_server_dh_file setting if you need non-ECC Diffie-Hellman. |
TCP wrapper support | Use Lua authentication database instead. |
Weak password schemes | Weak password schemes are disabled by default; you need to use auth_allow_weak_schemes to enable them. |
local_name "multiple names" { ... } | List each name as a separate local_name { ... } |
Parameter | Notes |
---|---|
Cassandra ssl_verify=cert-dns setting | Removed, as it was deprecated by Cassandra cpp-driver due to it being insecure against MITM attacks. |
Setting | Notes |
---|---|
auth_stats | |
dict_db_config | Berkeley DB is not supported anymore. |
imap_id_log | Replaced by the imap_id_received event. |
login_access_sockets | Use Lua authentication database instead. Dovecot will fail to start if this setting is present in configuration. |
quota_set | |
sieve_dir | See Script storage. |
sieve_global_dir | See Script storage. |
sieve_global_path | See Script storage. |
sieve_editheader_protected | Replaced by sieve_editheader_header_forbid_add and sieve_editheader_header_forbid_delete . |
sieve_vacation_max_subject_codepoints |
Backend | Notes |
---|---|
checkpassword auth database | Use Lua authentication database instead. |
Dict passdb & userdb driver | Use Lua authentication database instead. |
Dict quota; Dirsize quota | These drivers are removed. You should use Quota Driver: Count instead along with quota-clone plugin. Note that switching to quota count can cause all users' indexes to update, so reserve time for this. |
imap-zlib plugin | The IMAP COMPRESS extension is now automatically enabled. |
listescape plugin | Use mailbox_list_storage_escape_char instead. |
mailbox-alias plugin | Depending on the use case, replacement may be the mailbox_special_use mailbox setting and/or Sieve filters. |
Memcached dict driver | Use Redis instead. |
old-stats plugin | Use Statistics instead. auth_stats setting has been removed too. |
shadow auth driver | Use PAM authentication database instead. |
XZ Compression | You need to perform migration using a different compression format. With Maildir, you can try uncompressing all your mail and compressing them with another algorithm while Dovecot is not running. |
zlib plugin | Use mail-compress plugin with the mail_compress_write_method setting instead. |
Dictmap configuration has been replaced by Dictmap: Settings.
Parameter | Description |
---|---|
cleanup-uncertain | Previously, this parameter needed to be explicitly enabled. It is now called fs_dictmap_cleanup_uncertain , which is enabled by default. |
max-parallel-iter | Previously the default was 1 . This parameter has been replaced by the fs_dictmap_max_parallel_iter , which defaults to 10 . now. |
See obox
.
Parameter | Description |
---|---|
absolute_timeout_msecs | Use absolute_timeout instead. |
connect_timeout_msecs | Use connect_timeout instead. |
delete_timeout_msecs | Use delete_timeout instead. |
read_timeout_msecs | Use read_timeout instead. |
slow_warn_msecs | Use slow_warn instead. |
timeout_msecs | Use timeout setting instead. |
write_timeout_msecs | Use write_timeout setting instead. |
Setting | Notes |
---|---|
ssl | Connections from login_trusted_networks are now also required to be SSL/TLS encrypted with the setting ssl=required . |
ssl_min_protocol | The SSLv3 option was removed, as it is no longer secure. |
Mail Crypt Plugin: fs-crypt now requires encryption keys by default.
Setting | Old Default | New Default | Notes |
---|---|---|---|
fts_dovecot_mail_flush_interval | 0 | 10 | |
fts_dovecot_max_triplets | 0 | 200 | |
imapc_features | Features "delay-login", "search", "fetch-headers", "fetch-bodystructure", "fetch-size" by default. Enable "acl" and "modseq" by default, if the remote server supports it. | ||
mail_cache_max_headers_count | unlimited | 100 | New feature, explicitly set to 0 for the old behavior. |
mail_cache_max_header_name_length | unlimited | 100 | New feature, explicitly set to 0 for the old behavior. |
mail_log_prefix | %s(%u)<%{pid}><%{session}>: | %s(%u)<%{process:pid}><%{session}>: | Uses new process key. |
mailbox_list_drop_noselect | no | yes | \NoSelect folders are now dropped by default. |
service/anvil/chroot | empty | <no value> | Anvil is no longer chrooted. |
service/anvil/user | $default_internal_user | <no value> | Anvil runs as root. |
service/auth-worker/process_limit | 1 | 30 |
Old Setting | New Setting |
---|---|
metacache_disable_bundle_list_cache | metacache_bundle_list_cache |
metacache_disable_secondary_indexes | metacache_secondary_indexes |
obox_refresh_index_once_after | metacache_refresh_index_once_after |
obox_rescan_mails_once_after | metacache_rescan_mails_once_after |
obox_no_pop3_backend_uidls | obox_pop3_backend_uidls |
obox_dont_use_object_ids | obox_use_object_ids |
IMAP Hibernation is now enabled by default.
New default:
service metacache {
unix_listener metacache {
mode = 0660
group = $default_internal_group
}
}
Default LMTP proxy destination port is now 24
.
Event | Change |
---|---|
fs_object_write_uncertain | Event was added. |
auth_client_cache_flush_started | Event was removed. |
auth_client_cache_flush_finished | Event was removed. |
imap_id_received | Event was added. |
login_aborted | Event was added. |
mail_metadata_accessed | Event was added. |
pop3_command_finished | Event was added. |
Event | Field | Change |
---|---|---|
dns_worker_request_finished | cached | Field was added. |
Mail user events | service | Field was added. |
proxy_session_finished | error_code | Field was added. |
proxy_session_finished | idle_usecs | Field was changed from idle_secs . |
smtp_server_transaction_rcpt_finished | dest_host | Field was added. |
smtp_server_transaction_rcpt_finished | dest_ip | Field was added. |
sql_query_finished | consistency | Field was added. |
sql_query_finished | error_consistency | Field was added. |
Various | net_bytes_in | Field was changed from bytes_in . |
Various | net_bytes_out | Field was changed from bytes_out . |
Various | transport | transport=trusted was changed to transport=secured . See also secured connections. |
Events can now be exported to a local file or a unix socket. See Event Export: Drivers.
To migrate the ACL directories into their respective files you have to do the following:
vfile
parameter to the new ACL file.Added doveadm metacache pull
command.
The doveadm HTTP API now requires valid boolean values. Providing invalid boolean values will result in a 400 response.