Сервер Cyrus IMAP поддерживает пользовательские флаги сообщений (такие как теги, метки, ключевые слова), и вы можете использовать почтовый клиент Alpine для экспериментов с метками.В Alpine выберите (S)etup
-> (C)onfig
, прокрутите вниз до раздела keywords
и введите свой список желаемых имен флагов.
Чтобы установить флаги сообщений из Python, вы можете использовать стандартный модуль imaplib.Ниже приведен пример установки флагов для сообщения:
import imaplib
im = imaplib.IMAP4(hostname)
im.login(user, password)
im.select('INBOX')
# you can use im.search() to obtain message ids
msg_ids = '1, 4, 7'
labels = ['foo', 'bar', 'baz']
# add the flags to the message
im.store(msg_ids, '+FLAGS', '(%s)' % ' '.join(labels))
# fetch and print to verify the flags
print im.fetch(ids, '(FLAGS)')
im.close()
im.logout()
Следует иметь в виду, что флаги, отправляемые на сервер, не содержат пробелов.Если вы отправите +FLAGS (foo bar)
на сервер, это установит два флага foo
и bar
.Такие клиенты, как Alpine, позволят вам вводить флаги с пробелами в них, но будут отправлять на сервер только последнюю незаполненную часть - он воспринимает это как уникальный идентификатор.Если вы укажете флаг abc 123
, он установит 123
в сообщении и отобразит abc
в представлении сообщения.