DOKK / manpages / debian 12 / dovecot-core / doveadm-flags.1.en
DOVEADM-FLAGS(1) Dovecot DOVEADM-FLAGS(1)

doveadm-flags - add, remove or replace messages' flags

doveadm [-Dv] flags [-S socket_path] command flags search_query
doveadm [-Dv] flags [-S socket_path] command flags search_query -A
doveadm [-Dv] flags [-S socket_path] command flags search_query -F file
doveadm [-Dv] flags [-S socket_path] command flags search_query -u user

This command is used to manipulate flags of messages.

Global doveadm(1) options:

Enables verbosity and debug messages.
Overrides the configuration setting from /etc/dovecot/dovecot.conf and from the userdb with the given value. In order to override multiple settings, the -o option may be specified multiple times.
Enables verbosity, including progress counter.

Command specific options:

If the -A option is present, the command will be performed for all users. Using this option in combination with system users from userdb { driver = passwd } is not recommended, because it contains also users with a lower UID than the one configured with the first_valid_uid setting.

When the SQL userdb module is used make sure that the iterate_query setting in /etc/dovecot/dovecot-sql.conf.ext matches your database layout. When using the LDAP userdb module, make sure that the iterate_attrs and iterate_filter settings in /etc/dovecot/dovecot-ldap.conf.ext match your LDAP schema. Otherwise doveadm(1) will be unable to iterate over all users.

Execute the command for all the users in the file. This is similar to the -A option, 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.
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.

Run the command only for the given user. It's also possible to use '*' and '?' wildcards (e.g. -u *@example.org).
When neither the -A option, nor the -F file option, nor the -u user was specified, the command will be executed with the environment of the currently logged in user.

Message flags as described in RFC 3501, section 2.3.2 (Flags Message Attribute): \Answered, \Deleted, \Draft, \Flagged, \Recent and \Seen. And the IMAP keywords $Forwarded, $MDNSent, $SubmitPending and $Submitted or user-defined keywords, e.g. Junk, $NonSpam or $Label1.
One or multiple flags and/or keywords can be specified.
Manipulate the flags of messages matching the given search query. See doveadm-search-query(7) for details.

doveadm flags add [-u user|-A|-F file] [-S socket_path] flags search_query

This command is used to extend the current set of flags with the given flags.

doveadm flags remove [-u user|-A|-F file] [-S socket_path] flags search_query

In order to remove the given flags from the current set of flags, use this command.

doveadm flags replace [-u user|-A|-F file] [-S socket_path] flags search_query

This command is used to replace ALL current flags with the given flags.

List and manipulate the message flags of the message with uid 81563

doveadm fetch -u bob 'uid flags' mailbox dovecot uid 81563
uid: 81563
flags: \Answered \Seen NonJunk
doveadm flags remove -u bob NonJunk mailbox dovecot uid 81563
doveadm flags add -u bob '\Flagged $Forwarded' mailbox dovecot uid 81563

Report bugs, including doveconf -n output, to the Dovecot Mailing List <dovecot@dovecot.org>. Information about reporting bugs is available at: http://dovecot.org/bugreport.html

doveadm(1), doveadm-fetch(1), doveadm-search-query(7)

2015-05-09 Dovecot v2.3