DOVEADM-DICT(1)
π DOVEADM-DICT β the dict manual, but make it a group chat π
okay bestie, sit down, hydrate, and let me tell you about doveadm-dict β it lives in the Dovecot manual (section 1, the big-girl commands section, iykyk) and it's literally all about dictionary manipulation. Commands related to dictionary manipulation, to be exact. slay. β¨
β¨ SYNOPSIS β¨
doveadm [GLOBAL OPTIONS] dict command [-u user] [OPTIONS] config-filter-name [args]
doveadm [GLOBAL OPTIONS] mail dict command [OPTIONS] config-filter-name [args]
π¦ DESCRIPTION π¦
so doveadm dict and doveadm mail dict are the two little icons you use to query and modify dictionary entries. that's the whole job. π
the doveadm mail dict version can be run within a specific user context, which is highkey useful when, say, a userdb lookup returns user-specific dict settings. other than that vibe difference, the two commands behave identically. no cap.
π config-filter-name
this is the filter name to use when looking up the dict settings. think things like mail_attribute, quota_clone. π
and yes, you can also pass an empty filter name and just spell out the dict settings yourself using the -o parameters. main character energy tbh.
π GLOBAL OPTIONS π
these are the global doveadm(1) options, and there are a lot of them, so buckle up buttercup:
-Dβ Enables verbosity and debug messages. π-Oβ Do not read any config file, just use defaults. Thedovecot_storage_versionsetting defaults to the latest version, but can be overridden with-o. π-kβ Preserve entire environment fordoveadm, not just theimport_environmentsetting.-vβ Enables verbosity, including progress counter. (yes, a lil progress bar moment π )-i instance-nameβ If you're running multiple Dovecot instances, choose the config file based on this instance name. See theinstance_namesetting for more info. π-c config-fileβ Read configuration from the given config-file. By default it first reads the config socket, and then falls back to/etc/dovecot/dovecot.conf. You can also point this at the config socket of some instance running a compatible version. π₯-o setting=valueβ Overrides the configuration setting from/etc/dovecot/dovecot.confand from the userdb with the given value. To override multiple settings, the-ooption may be specified multiple times. (stack 'em, bestie)-f formatterβ Specifies the formatter for formatting the output. Supported formatters are:flowβ prints each line with key=value pairs.jsonβ prints a JSON array of JSON objects.pagerβ prints each key: value pair on its own line and separates records with form feed character (^L).tabβ prints a table header followed by tab separated value lines.tableβ prints a table header followed by adjusted value lines.
π OPTIONS π
π«Ά doveadm dict command-specific options
-u userβ The user to use.
π«Ά doveadm mail dict command-specific options
-Aβ If the-Aoption is present, the command will be performed for all users. Using this option in combination with system users fromuserdb { driver = passwd }is not recommended, because it contains also users with a lower UID than the one configured with thefirst_valid_uidsetting. π
When the SQL userdb module is used, make sure that the userdb_sql_iterate_query setting setting matches your database layout.
When using the LDAP userdb module, make sure that the userdb_fields setting and userdb_ldap_iterate_fields setting settings match your LDAP schema. Otherwise doveadm(1) will be unable to iterate over all users.
-F fileβ Execute the command for all the users in the file. This is similar to the-Aoption, but instead of getting the list of users from the userdb, they are read from the given file. The file contains one username per line. π-S socket_pathβ The option's argument is either an absolute path to a local UNIX domain socket, or a hostname and port (hostname:port), in order to connect a remote host via a TCP socket.
This allows an administrator to execute doveadm(1) mail commands through the given socket. π
-u user/maskβ Run the command only for the given user. It's also possible to use'*'and'?'wildcards (e.g.-u *@example.org). β
π COMMANDS π
πΈ get
doveadm [GLOBAL OPTIONS] dict get [-u user] config-filter-name key
doveadm [GLOBAL OPTIONS] mail dict get [-A | -u user | -F file] [-S socket_path] config-filter-name key
Fetch a key from a dictionary. π
keyβ The key to fetch.
πΈ iter
doveadm [GLOBAL OPTIONS] dict iter [-u user] [-1RV] config-filter-name prefix
doveadm [GLOBAL OPTIONS] mail dict iter [-A | -u user | -F file] [-S socket_path] [-1RV] config-filter-name prefix
Find the keys matching the a prefix in a dictionary. π
-1β Exact match.-Rβ Recurse.-Vβ Don't print values, just key namesprefixβ The key prefix to look for.
List keys into the dictionary.
πΈ inc
doveadm [GLOBAL OPTIONS] dict inc [-u user] [-t timestamp-msecs] config-filter-name key diff
doveadm [GLOBAL OPTIONS] mail dict inc [-A | -u user | -F file] [-S socket_path] [-t timestamp-msecs] config-filter-name key diff
Increment the value of a numeric key in the keys into the dictionary. β
-t timestamp-msecsβ Set the timestamp also.keyβ The key to increment.diffβ The amount of the increment.
πΈ set
doveadm [GLOBAL OPTIONS] dict set [-u user] [-t timestamp-msecs] [-e expire-secs] config-filter-name key value
doveadm [GLOBAL OPTIONS] mail dict set [-A | -u user | -F file] [-S socket_path] [-t timestamp-msecs] [-e expire-secs] config-filter-name key value
Set/create keys into the dictionary. β¨
-t timestamp-msecsβ Set the timestamp also.-e expire-secsβ Set the key duration also.keyβ The key to set.valueβ The value to set.
πΈ unset
doveadm [GLOBAL OPTIONS] dict unset [-u user] [-t timestamp-msecs] config-filter-name key
doveadm [GLOBAL OPTIONS] mail dict unset [-A | -u user | -F file] [-S socket_path] [-t timestamp-msecs] config-filter-name key
Remove a key from the dictionary. ποΈ (bye babe)
-t timestamp-msecsβ Set the timestamp also.keyβ The key to unset.
π REPORTING BUGS π
found a bug? first of all, mood. report bugs, including doveconf -n output, to the Dovecot Mailing List β¨dovecot@dovecot.orgβ©. Information about reporting bugs is available at: β¨https://dovecot.org/bugreport.htmlβ©
ngl bestie, they really want that doveconf -n output. don't make them ask twice. π«Ά
π SEE ALSO π
and that's the whole page, babes. this was DOVEADM-DICT(1) from the Dovecot manual, revision f979264, dated April 2026. mwah, go forth and manipulate some dictionaries. π β¨π
π¦ where this page comes from
- alpine 3.23: dovecot-doc 2.4.5-r0 Β· MIT AND LGPL-2.1-or-later
- alpine 3.24: dovecot-doc 2.4.5-r0 Β· MIT AND LGPL-2.1-or-later
- arch rolling: dovecot 2.4.5-1 Β· MIT AND LGPL-2.1-only
- fedora 43: dovecot 1:2.4.5-1.fc43 Β· MIT AND LGPL-2.1-only
- fedora 44: dovecot 1:2.4.5-1.fc44 Β· MIT AND LGPL-2.1-only
- nixos 26.05: dovecot 2.4.5
- nixpkgs unstable: dovecot 2.4.5
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 Β· BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 Β· BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 Β· BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 Β· BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms