Search K
Appearance
Appearance
String can contain any character. Strings support Settings variables
.
Certain settings require specific variables and thus don't use the default Settings variables
. For example:
imap_logout_format = in=%{input} out=%{output}
Here the %{input}
and %{output}
refer to variables specific to the imap_logout_format
setting.
Unsigned integer is a number between 0
..4294967295
, although specific settings may have additional restrictions.
The value can also be unlimited
, which translates to 4294967295
.
Same as unsigned integer, but if the value is prefixed with 0
, the number is read as octal (instead of decimal).
Boolean settings interpret any value as true, or false.
yes
and no
are the recommended values. However, y
and 1
also work as yes
. Whereas, only no
will work as false.
All these are case-insensitive. Other values give errors.
The size value type is used in Dovecot configuration to define the amount of space taken by something, such as a file, cache or memory limit. The size value type is case insensitive. The following suffixes can be used to define size:
Suffix | Value |
---|---|
B | bytes |
K | kilobytes |
M | megabytes |
G | gigabytes |
T | terabytes |
The values can optionally be followed by I
or IB
. For example K = KI = KIB
. The size value type is base 2
, meaning a kilobyte equals 1024
bytes.
The value can also be unlimited
.
The Time value is used in Dovecot configuration to define the amount of Time taken by something or for doing something, such as a sending or downloading file, processing, and more.
The Time value supports using suffixes of any of the following words:
secs
seconds
mins
minutes
hours
days
weeks
INFO
So for example, d
, da
, day
, and days
all mean the same. Make sure to be explicit if you want to differentiate between mins
and msecs
, as m
does not suffice.
The value can also be infinite
.
This is similar to Time, but additionally supports milliseconds (ms
) precision.
The Millisecond Time value supports using suffixes of any of the following words:
msecs
mseconds
millisecs
milliseconds
All of these have the same meaning. Similarly to Time, the suffixes can be shortened to e.g. ms
.
The IP can be IPv4 address like 127.0.0.1
, IPv6 address without brackets like ::1
, or with brackets like [::1]
. The DNS name is looked up once during config parsing, e.g. host.example.com
. If a /block is specified, then it's a CIDR address like 1.2.3.0/24
. If a /block isn't specified, then it defaults to all bits, i.e. /32 for IPv4 addresses and /128 for IPv6 addresses.
This type is an unsigned integer with numbers ranging only from 0
to 65535
.
Special type of String setting. Conforms to Uniform Resource Locators (URL) (RFC 1738).
Path to a file. The file contents are read already by the config process, so the file permissions don't usually matter. However, some callers need to open the file again (e.g. the ssl_client_cert_file
setting with MySQL) after the process has dropped root privileges.
If you use %variables in file names, the expansion is delayed until the process accessing the setting expands it. The process is usually not running as root at this point, so you may need to adjust file permissions.
It's possible to give inline values (instead of a path to a file) for the setting by using inline:
prefix in the value. For example userdb could be returning crypt_global_public_key_file=inline:<public key content>
without having to use files.
The settings inside the filter are used only in a specific situation. See Named Filters for more details.
The settings inside the filter are used only in a specific situation. The filter has a unique name, which can be used to identify it within the list. See Named Filters for more details.
The string list type is a list of key=value
pairs. Each key name is unique within the list (i.e. giving the same key multiple times overrides the previous one). The string list is configured similarly to Named Filters:
fs_randomfail_ops {
read = 100
write = 50
}
You can clear out an existing string list by setting it to an empty value. This is mainly useful to drop default settings. For example:
auth_policy_request_attributes =
auth_policy_request_attributes {
login = %{requested_username}
}
The boolean list type is a list of key=yes/no
pairs. Each key is unique within the list (i.e. giving the same key multiple times overrides the previous one). The boolean list can be configured as a space or comma-separated list, which replaces the previous boolean list entirely. For example:
mail_plugins = quota imap_quota
mail_plugins = acl,imap_acl # removes quota and imap_quota
Quotes are also supported:
doveadm_allowed_commands = "mailbox list" "mailbox create"
The boolean list can also be configured to update an existing boolean list. For example:
mail_plugins = quota acl
protocol imap {
mail_plugins {
imap_quota = yes
imap_acl = yes
}
}
local 10.0.0.0/24 {
protocol imap {
mail_plugins {
imap_acl = no
}
}
}