Dovecot Core Advanced Settings¶
See Settings for list of all setting groups.
Warning
These settings should not normally be changed.
- login_proxy_notify_path¶
Default:
proxy-notify
Values: String
Path to proxy-notify pipe.
Login variables can be used.
- mail_cache_max_header_name_length¶
Default:
100
Values: Unsigned integer
New in version 2.4.0 (CE).
New in version 3.0.0 (Pro).
Maximum header name length stored in the cache, where 0 stands for unlimited (which is also the former behavior).
When enabled, the cache truncates the names to this length in memory and on file. While the header name remains unchanged in the storage, all the headers sharing the first
mail_cache_max_header_name_length
prefix characters are de facto aliased and will be considered as the same header on cache fetch.Also, attempting to fetch a specific aliased header will succeed even if the header does not actually exist (this does NOT happen when the feature is disable with explicitly with
mail_cache_max_header_name_length = 0
)Example: (
mail_cache_max_header_name_length = 5
)If the mail contains the header
X-name: value
, attempting to fetchX-nam
orX-names
will also produceX-name: value
as a result (with the original header name, not the requested one).Trying to fetch the mail text or the mail headers will properly return only
X-name: value
- mail_cache_max_headers_count¶
Default:
100
Values: Unsigned integer
New in version 2.4.0 (CE).
New in version 3.0.0 (Pro).
Maximum number of headers in
yes
/temp
cache decision before the cache refuses to promote more header decisions fromno
totemp
, where 0 stands for unlimited (which is also the former behavior).When entries are rejected, the event
mail_cache_decision_rejected
is emitted.Also, while the cache’s headers count is saturated, the effective value of
mail_cache_unaccessed_field_drop
is reduced to 1/4 of of the specified one, in order to aid the cache to return within the limits.
- mail_cache_max_size¶
Default:
1G
Values: Size
New in version 2.3.11.
If
dovecot.index.cache
becomes larger than this, it’s truncated to empty size.Warning
The maximum value is 1 GB because the cache file format can’t currently support large sizes.
- mail_cache_min_mail_count¶
Default:
0
Values: Unsigned integer
Only update cache file when the mailbox contains at least this many messages.
With a setting other than
0
, you can optimize behavior for fewer disk writes at the cost of more disk reads.
- mail_cache_purge_continued_percentage¶
Default:
200
Values: Unsigned integer
Compress the cache file when n% of rows contain continued rows.
For example
200
means that the record has 2 continued rows, i.e. it exists in 3 separate segments in the cache file.
- mail_cache_purge_delete_percentage¶
Default:
20
Values: Unsigned integer
Compress the cache file when n% of records are deleted (by count, not by size).
- mail_cache_purge_header_continue_count¶
Default:
4
Values: Unsigned integer
Compress the cache file when we need to follow more than n next_offsets to find the latest cache header.
- mail_cache_purge_min_size¶
Default:
32k
Values: Size
Only compress cache file if it is larger than this size.
- mail_cache_record_max_size¶
Default:
64k
Values: Size
If a cache record becomes larger than this, don’t add it to the cache file.
- mail_cache_unaccessed_field_drop¶
Default:
30days
Values: Time
Specifies when cache decisions are downgraded.
Changed in version 2.3.11: Change caching decision from YES to TEMP after this much time has passed. Drop the field entirely after twice this much time has passed (i.e. 60 days by default), regardless of whether the cache decision was YES or TEMP previously. Older versions used this setting only for dropping the field after it hadn’t been accessed for this long.
Changed in version 2.4.0 (CE): If the cache header count is capped to
mail_cache_max_headers_count
then the effective value is reduced to 1/4 of the configured value until enough headers expire for the cache to fall back inside the limits.Changed in version 3.0.0 (Pro): If the cache header count is capped to
mail_cache_max_headers_count
then the effective value is reduced to 1/4 of the configured value until enough headers expire for the cache to fall back inside the limits.See also
- mail_index_log_rotate_max_size¶
Default:
1M
Values: Size
Always rotate transaction log after it exceeds this size.
- mail_index_log_rotate_min_age¶
Default:
5mins
Values: Time
Rotate transaction log if it is older than this value and is larger than
mail_index_log_rotate_min_size
.See also
- mail_index_log_rotate_min_size¶
Default:
32k
Values: Size
Rotate transaction log if it is larger than this size and is older than
mail_index_log_rotate_min_age
.
- mail_index_log2_max_age¶
Default:
2days
Values: Time
Delete
.log.2
index file when older than this value.Older
.log.2
files are useful for QRESYNC and dsync, so this value should not be too low.
- mail_index_rewrite_max_log_bytes¶
Default:
128k
Values: Size
Rewrite the index when the number of bytes that needs to be read from the .log index file on refresh is between these min/max values.
See also