Das steht im RFC9051 https://datatracker.ietf.org/doc/rfc9051/ Abschnitt "2.3.2. Flags Message Attribute", unter 'Flags' bzw. 'Keywords'
Muß mich allerdings korrigieren, für die Schlagworte gibt es keine eigenen Befehle, sondern das sind 'keywords' (im Unterschied zu 'System Flags').
Mal ein Beispiel:
openssl s_client -crlf -connect imap.gmail.com:993
... (ne Menge Infos)
1 login "username" "password"
...
2 select inbox
...
* FLAGS (\Answered \Flagged \Draft \Deleted \Seen $NotPhishing $Phishing $label1 $label2 Junk NonJunk out redirected)
* OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen $NotPhishing $Phishing $label1 $label2 Junk NonJunk out redirected \*)] Flags permitted.
...
Die 'FLAGS' zeigen alle Stichworte, die in der INBOX verwendet werden. Die '\...' sind die System Flags, die im RFC definiert werden. Einige der '$...' werden ebenfalls im RFC definiert (z.B. $Phishing). Die '$label1' usw. sind die internen Darstellungen der TB-Standardstichworte, '$label1' ist 'Wichtig'. 'out' und 'redirected' sind von mir in TB definierte Stichworte. Am Ende von '* OK' steht Flags permitted, der Server erlaubt also eigene Stichworte, das muß nicht immer so sein.
Die individuelle Stichworte einer Nachricht werden beim 'FETCH' Befehl geliefert.
16 fetch 3 all
#* 3 FETCH (ENVELOPE ... FLAGS (NonJunk \Seen out) INTERNALDATE "27-Mar-2024 18:54:41 +0000" RFC822.SIZE 4242)
Alles klar?