DOVEADM-EXEC(1)
β¨ DOVEADM-EXEC β¨
okay bestie, welcome to doveadm-exec β the part of the doveadm(1) manual that's literally just "run the thing, no thoughts, head empty, except the thing lives in Dovecot's libexec directory". It's giving personal assistant energy for your server. π
π« NAME π«
doveadm-exec β easily execute commands from Dovecot's libexec directory. Yes, "easily" is doing a lot of work there but honestly? It earned it. π«Ά
πΈ SYNOPSIS πΈ
doveadm [GLOBAL OPTIONS] exec binary [binary arguments]
π¦ DESCRIPTION π¦
So here's the vibe: this command lets administrators and local users justβ¦ run commands that live inside /usr/libexec/dovecot. No hunting through directories, no cd-ing around like a lost little fairy. π§
Like, say a logged-in system user wants to start a pre-authenticated imap session? They can literally just go:
doveadm exec imap
and boom, we're in. β¨
And if you're an administrator and you want to do the same thing but as somebody? You'd run:
doveadm exec imap -u username
periodt. π
π GLOBAL OPTIONS π
These are the global doveadm(1) options, bestie β they apply across the board:
-Dβ turns on verbosity and debug messages. For when you need the tea, all of it. π-Oβ do NOT read any config file, just use the defaults. Thedovecot_storage_versionsetting defaults to the latest version, but heads up, you can still override it with-o. β οΈ-kβ preserve the entire environment fordoveadm, not just theimport_environmentsetting. Full vibe preservation. π-vβ enables verbosity, including the progress counter. Little bar go brrr. π-iinstance-name β if you're running multiple Dovecot instances, this picks which config file to use based on the instance name. Peep theinstance_namesetting for the full lore. π-cconfig-file β read configuration from the given config-file. By default it first reads the config socket, then falls back to/etc/dovecot/dovecot.conf. You can also point this at the config socket of some instance that's running a compatible version. π«Ά-osetting=value β overrides the configuration setting from/etc/dovecot/dovecot.confand from the userdb with the given value. And if you need to override multiple settings? Just stack the-ooption as many times as you want, she's repeatable. π₯
π ARGUMENTS π
- binary β the name of an executable located in
/usr/libexec/dovecot. That's it, that's the one. π― - binary arguments β options and arguments which will be passed through to the binary. Straight through, no middleman, no editing. π
β EXAMPLE β
This one demonstrates how to deliver a message from a file to a user's mailbox. Iconic behaviour tbh:
doveadm exec dovecot-lda -d user@example.net -f admin@example.net < ~/stuff/welcome.msg
Look at that redirect at the end doing its little thing. π
π REPORTING BUGS π
Found a bug? (Not me, I would never. π) Report it β and please include your doveconf -n output β to the Dovecot Mailing List β¨dovecot@dovecot.orgβ©.
Info about reporting bugs lives at: β¨https://dovecot.org/bugreport.htmlβ©
π SEE ALSO π
okay that's the whole page, bestie, you ate it up. πβ¨ this was brought to you by the Dovecot crew, page id f979264, dated April 2026 β DOVEADM-EXEC(1), slay, go run something. π
π¦πΈ
π¦ 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