DOVEADM-MAILBOX(1)
NAME π
doveadm-mailbox β commands related to handling mailboxes. This is the DOVEADM-MAILBOX(1) page from Dovecot, bestie.
SYNOPSIS β¨
doveadm [GLOBAL OPTIONS] [-f formatter] mailbox_cmd [OPTIONS]
[ARGUMENTS]
DESCRIPTION π¦
Okay so doveadm mailbox is the vibe for querying and modifying mailboxes. That's it, that's the whole point.
GLOBAL OPTIONS π
Global doveadm(1) options, the ones that apply across the board:
-Dβ Enables verbosity and debug messages. It's giving main character debugging energy.-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 justimport_environmentsetting.-vβ Enables verbosity, including progress counter.-i instance-nameβ If using multiple Dovecot instances, choose the config file based on this instance name. Seeinstance_namesetting for more information.-c config-fileβ Read configuration from the given config-file. By default it first reads config socket, and then falls back to/etc/dovecot/dovecot.conf. You can also point this to config socket of some instance running compatible version.-o setting=valueβ Overrides the configuration setting from/etc/dovecot/dovecot.confand from the userdb with the given value. In order to override multiple settings, the-ooption may be specified multiple times.-f formatterβ Specifies the formatter for formatting the output. Supported formatters are:flowβ prints each line withkey=valuepairs.jsonβ prints a JSON array of JSON objects.pagerβ prints eachkey: valuepair 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 π
-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 theuserdb_sql_iterate_querysetting setting matches your database layout. When using the LDAP userdb module, make sure that theuserdb_fieldssetting anduserdb_ldap_iterate_fieldssetting settings match your LDAP schema. Otherwisedoveadm(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.--no-userdb-lookupβ Do not perform userdb lookup. Use theUSERenvironment variable to specify the username.-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 executedoveadm(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).
ARGUMENTS π
mailboxβ Is the name of a mailbox, as visible to IMAP clients, except in UTF-8 format. The hierarchy separator between a parent and child mailbox is commonly/or., but this depends on your selected mailbox storage format and namespace configuration. The mailbox names may also require a namespace prefix.
β¨ COMMANDS β¨
okay bestie, this is the part where we go through every single mailbox subcommand. no skips, no cap. each one gets its own little spotlight, and every flag, argument, warning, and typo stays exactly where it belongs. periodt π
it's giving organized, lowkey iconic, and highkey necessary. ngl, the way that this section just keeps going? obsessed. iykyk. fr fr. not me being a whole Unix main character energy vibe check, but here we are π«Ά slay, let's go.
π mailbox create π
doveadm [GLOBAL OPTIONS] mailbox create [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-g guid] [-s] mailbox...
This command is used to create one or more mailboxes. The mailbox format of the created mailboxes depends on the mail_driver setting, or the user's mail field, returned by the userdb.
-g guidβ Create the mailbox with the specified GUID.-sβ When this option was given, the created mailboxes will be also added to the user's subscriptions.
π mailbox cryptokey π
doveadm [GLOBAL OPTIONS] mailbox cryptokey export|generate|list|password
This command is used to manage mail crypt plugin cryptographic keys. Please see doveadm-mailbox-cryptokey(1) for more details.
ποΈ mailbox delete ποΈ
doveadm [GLOBAL OPTIONS] mailbox delete [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] [-r] [-e] [-Z] mailbox...
This command deletes a mailbox and expunges all the messages it contains. If the mailbox has any children, they won't be deleted, unless -r is given.
-rβ Delete mailboxes recursively-sβ Unsubscribe deleted mailboxes.-eβ Require mailboxes to be empty before deleting.-Zβ Delete the mailbox as efficiently as possible, but the user may not be in fully consistent state afterwards. For example quota may be wrong. This option is mainly useful when deleting the entire user.
π mailbox list π
doveadm [GLOBAL OPTIONS] mailbox list [-7 | -8] [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] [mailbox ...]
To get an overview of existing mailboxes use this command. It's also possible to use wildcards in the mailbox name.
When the -s option is present, only subscribed mailboxes will be listed. Listed subscriptions may also contain mailboxes that are already deleted.
-7β Lists the mailboxes with mUTF-7 encoding.-8β Lists the mailboxes with UTF-8 encoding.
π·οΈ mailbox metadata list π·οΈ
doveadm [GLOBAL OPTIONS] mailbox metadata list [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] [-p] mailbox [key-prefix]
-sβ Allows to specify mailbox"", which points to the server metadata instead of mailboxes' matadata. It has no effect if mailbox is anything else than an empty string.-pβ Prepend prefix.mailboxβ The target mailbox (mandatory). If-sis specified, the empty string""can be used to indicate access to server metadata.key-prefixβ The key prefix to look for. All keys will be listed if not provided.
π mailbox metadata get π
doveadm [GLOBAL OPTIONS] mailbox metadata get [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] mailbox key
-sβ Allows to specify mailbox"", which points to the server metadata instead of mailboxes' matadata. It has no effect if mailbox is anything else than an empty string.mailboxβ The target mailbox (mandatory). If-sis specified, the empty string""can be used to indicate access to server metadata.keyβ The key to retrieve.
βοΈ mailbox metadata set βοΈ
doveadm [GLOBAL OPTIONS] mailbox metadata set [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] mailbox key value
-sβ Allows to specify mailbox"", which points to the server metadata instead of mailboxes' matadata. It has no effect if mailbox is anything else than an empty string.mailboxβ The target mailbox (mandatory). If-sis specified, the empty string""can be used to indicate access to server metadata.keyβ The key to set.valueβ The value to set.
π§½ mailbox metadata unset π§½
doveadm [GLOBAL OPTIONS] mailbox metadata unset [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] mailbox key
-sβ Allows to specify mailbox"", which points to the server metadata instead of mailboxes' matadata. It has no effect if mailbox is anything else than an empty string.mailboxβ The target mailbox (mandatory). If-sis specified, the empty string""can be used to indicate access to server metadata.keyβ The key to unset.
π mailbox mutf7 π
doveadm [GLOBAL OPTIONS] mailbox mutf7 [-7 | -8] name...
The mailbox mutf7 command may be used to convert the international mailbox name into a modified version of the UTF-7 encoding and vice versa. See RFC 3501 (Mailbox International Naming Convention).
-7β Indicates that the name's string representation is mUTF-7 encoded and it should be converted to UTF-8.-8β Indicates that the name's is UTF-8 encoded and should be converted to mUTF-7 (default).nameβ One or more mailbox names that should be converted.
π mailbox path π
doveadm [GLOBAL OPTIONS] mailbox path [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] [-t type] mailbox
The mailbox path command returns the filesystem path for the given mailbox. By default, this is the path to the "index" directory.
-t typeβ Output the path to this mailbox location type. One of:alt-diralt-mailboxcontroldirindex(DEFAULT)index-cacheindex-privatelist-indexmailbox
mailboxβ The mailbox to query (mandatory).
π·οΈ mailbox rename π·οΈ
doveadm [GLOBAL OPTIONS] mailbox rename [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-s] old_name new_name
The mailbox rename command is used to rename the mailbox old_name to new_name.
When the -s option is given, old_name will be unsubscribed and new_name will be subscribed.
π mailbox status π
doveadm [GLOBAL OPTIONS] mailbox status [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [-t] fields mailbox...
Show the status of one or more mailboxes. The mailbox name may also contain wildcards.
This command uses by default the output formatter flow.
-tβ Summarize the values of the status fieldsmessages,recent,unseenand/orvsizeof multiple mailboxes to a sum (total).fieldsβ Specify the status fields which should be shown.
In order to specify multiple status fields, enclosed them in quotes.
allβ This is a special status field name. It means show all of the following fields. When the-toption is present, it means show only themessages,recent,unseenandvsizefields.guidβ The mailbox's globally unique identifier.highestmodseqβ The highest mod-sequence value of all messages in the mailbox.messagesβ The number of messages in the mailbox.deletedβ The number of messages with the\Deletedflag set.recentβ The number of messages with the\Recentflag set.uidnextβ The next unique identifier value.uidvalidityβ The unique identifier validity value.unseenβ The message sequence number of the first unseen message in the mailbox.vsizeβ The mailbox's virtual size, computed with CRLF line terminators.firstsavedβ Saved time of the first mail in the mailbox.
π mailbox subscribe π
doveadm [GLOBAL OPTIONS] mailbox subscribe [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] mailbox ...
This command is used to subscribe one or more mailboxes.
π mailbox unsubscribe π
doveadm [GLOBAL OPTIONS] mailbox unsubscribe [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] mailbox ...
This command is used to unsubscribe one or more mailboxes.
π οΈ mailbox update π οΈ
doveadm [GLOBAL OPTIONS] mailbox update [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [--mailbox-guid guid] [--uid-validity uid] [--min-next-uid uid] [--min-first-recent-uid uid] [--min-highest-modseq seq] [--min-highest-pvt-modseq seq] mailbox ...
This command is used to set UID validity, next UID, first recent UID and modification sequence values.
Usually this is only ever to be used during migration, or restoring mailbox after disaster. Settings these values is highly discouraged, and is not supported for all mail backends.
π§Ό mailbox cache purge π§Ό
doveadm [GLOBAL OPTIONS] mailbox cache purge [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] mailbox ...
Purge the dovecot.index.cache file. Most importantly this frees up disk space from mails that were already deleted. Normally there i no need to run this command manually, because the compression is also run automatically.
π§ mailbox cache decision π§
doveadm [GLOBAL OPTIONS] mailbox cache decision [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] [--all] [--fields list of fields] [--last-used unix timestamp] [--decision no|temp|yes] mailbox ...
This command is used to list or change caching decisions for field(s) in mailbox(es). You can list decisions by leaving out decision and last-used parameters.
--allβ List or change all fields.--fieldsβ List or change these comma/space separated fields.--decisionβ Set field caching decision.Yesmeans it's always cached.Tempmeans it's provisionally cached.Nomeans the field is not cached.--last-usedβ Set field's last used timestamp.
NOTE: This command cannot be used to add new fields to cache! You need to first add them to configuration. Setting caching to no will not immediately drop field from cache, it will stop adding the field to cache.
π§Ή mailbox cache remove π§Ή
doveadm [GLOBAL OPTIONS] mailbox cache remove [-A | -u user | -F file | --no-userdb-lookup] [-S socket_path] search query
Remove any matching mail(s) from cache.
WARNING! This command can erase ALL cached data, causing system slowness.
See doveadm-search-query(7) for the search query syntax.
β¨ EXAMPLE β¨
List subscribed mailboxes, beginning with 'dovecot', of user bob:
doveadm mailbox list -s -u bob dovecot\*
dovecot
dovecot/pigeonhole
dovecot/pigeonhole/2.0
Now have a look at the status of user bob's dovecot mailboxes:
doveadm -f table mailbox status -u bob "messages vsize" dovecot\*
mailbox messages vsize
dovecot 20501 93968492
dovecot/pigeonhole 0 0
dovecot/pigeonhole/2.0 47 323474
Converting an internationalized mailbox name from mUTF-7 to UTF-8 and vice versa:
doveadm mailbox mutf7 -7 "~peter/mail/&U,BTFw-/&ZeVnLIqe-"
~peter/mail/ε°ε/ζ₯ζ¬θͺ
doveadm mailbox mutf7 ~peter/mail/ε°ε/ζ₯ζ¬θͺ
~peter/mail/&U,BTFw-/&ZeVnLIqe-
π REPORTING BUGS π
okay bestie, so like β something's busted and you need to tell the devs? slay, that's literally how the software gets better, and we love a proactive queen π
Here's the vibe: report your bugs, and please include the output of doveconf -n in there. Like, do not gatekeep your config, that's the main character info they need to actually debug it π
Send it all to the Dovecot Mailing List at β¨dovecot@dovecot.orgβ© π¬
Want the full rundown on how to report bugs the right way? All the deets live here:
β¨https://dovecot.org/bugreport.htmlβ©
fr fr, that link is your bestie too β read it before you hit send so your bug report gets the glow-up it deserves β¨
π SEE ALSO π
doveadm(1)β the icon, the moment, the mothership π«Ά
and that's a wrap on DOVEADM-MAILBOX(1), bestie!! π this whole page is from source f979264, dated April 2026 πΈ go forth and mailbox with confidence, you absolute legend π π
π¦
π¦ 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