Re: относительно ярлыков Gmail - что они говорят технически.
Поскольку в IMAP отсутствует понятие «метки», существует более или менее сопоставление между «метками» GMail и «папками» IMAP Здесь - лучший документ, который я нашел на нем , Но что действительно помогло мне в создании моего программного взаимодействия IMAP с GMail, так это эксперименты.
Например, предустановленные метки имеют имена папок IMAP
Human name -- IMAP Folder name
Drafts -- [Gmail]/Drafts
Sent Mail -- [Gmail]/Sent Mail
Spam -- [Gmail]/Spam
Starred -- [Gmail]/Starred
Trash -- [Gmail]/Trash
Добавлено--
Re: создайте ярлык и прикрепите его к электронным письмам, когда я перебираю их с помощью кода - как я могу это сделать в коде?
Чтобы создать метку, используйте операцию Imap «создать папку».
Используйте операцию копирования Imap для добавления метки к сообщению.
Чтобы удалить сообщение из почтового ящика GMail, я на 90% уверен, что вы добавили флаг IMAP «Удален». - Но, пожалуйста, сначала поэкспериментируйте с этим. Мне не ясно, какие ярлыки удаляются, когда вы устанавливаете флаг удаления. В моих тестах у сообщения было только 1 ярлык (Входящие), когда я применил удаленный флаг.
Вот код, который я использую для перемещения сообщения GMail из папки «Входящие» в папку «Корзина»:
# Ruby code...
imap.store(message_id, "+FLAGS", [:Deleted]) # rm inbox label
imap.copy(message_id, "[Gmail]/Trash") # add trash label