Skip to main content

STORE flags

tip

A folder must be selected (see "SELECT folder") before running this function.

This function adds, removes or replaces flags on one or more messages.

Usage

await imap.storeFlags("1:5", ["Seen"], "add")       // add the \Seen flag
await imap.storeFlags("1:5", ["Seen"], "remove") // remove the \Seen flag
await imap.storeFlags("1:5", ["Flagged"], "replace")// replace all flags with \Flagged

// By UID instead of sequence number
await imap.storeFlags("42", ["Deleted"], "add", true)
ArgumentTypeDescription
targetstringSequence number range (or UID range with useUid), e.g. "1:5" or "42".
flagsstring[]Flags without the backslash, e.g. ["Seen", "Flagged"].
mode"add" \| "remove" \| "replace"Defaults to "add".
useUidbooleanUses UID STORE when true.

Response

Returns the updated flags of each message that the server reported as changed:

[ { seq: 1, flags: [ 'Flagged', '$NotJunk' ] } ]
info

Servers only report messages whose flags actually changed — a no-op STORE may return an empty array.