Я ищу предложение поиска IMAP, чтобы получить содержимое GMail «[Gmail]/Вся почта», но отфильтровывать письма, которые находятся в «[ Gmail]/Черновики».Как сформулировать поиск для «HEADER Delivered-To is not empty» в GMail IMAP? (или ПОИСК «[Gmail]/Вся почта» и исключить «/ Черновики»)
IMAP DRAFT флаг не помогает IMAP GMail. Сравнивая полные заголовки, я заметил, что черновики не имеют значения в поле «Поставлено-до» - в заголовке отсутствуют все сообщения в «[Gmail]/Черновики».
Я пробовал поиск UID непосредственно на «[Gmail]/Черновиках», который имеет несколько сообщений со следующим пунктом/результатами:
Я ожидаю, чтобы получить положение, которое не возвращает никаких сообщений - или все сообщения которые Delivered-отсутствующим:
(HEADER Delivered-To "") <- returns all drafts
(NOT (HEADER Delivered-To "")) <- negating still returns all drafts!
(NOT HEADER Delivered-To "") <- still returns all drafts
(HEADER Delivered-To NIL) <- returns no messages - opposite to expected
(NOT (HEADER Delivered-To NIL)) <- returns all drafts
(NOT HEADER Delivered-To NIL) <- returns all drafts
(NOT (DRAFT)) <- returns all drafts
(DRAFT) <- returns none - opposite to expected, GMail doesn't seem to flag drafts with DRAFT
будет оценить предложения, как бы вы сформулировать "HEADER Delivered-To не является пустым" для GMail IMAP.
Вы, кажется, приняли решение, не атакуя проблему более непосредственно. Вы пробовали что-то вроде строки 'UID SEARCH NOT X-GM-LABELS \ Draft'? [Gmail IMAP Extensions] (https://developers.google.com/gmail/imap_extensions) содержит условия поиска для ярлыков, которые, похоже, больше того, что вы хотите. – Max
@ Макс, спасибо за предложение и ссылку! Я согласен с предположением, но должен был «спроектировать» его, не найдя прямого ответа. Пробовал поиск - к сожалению, он терпит неудачу как на «[GMail]/All Mail», так и на «[Gmail]/Drafts» (множественное число) даже без «NOT»: '29: 27.40 imap.gmail.com writer> BGOD4 UID SEARCH (X-GM-LABELS (\ Drafts)) \ r \ n 29: 27.50 imap.gmail.com reader
kuz8
@Max, но поиск только для «foo» работает: ' > NBHH4 UID SEARCH (X-GM-LABELS foo) \ r \ n <* ПОИСК \ r \ n', вопрос заключается в том, как искать \ Drafts .. Я использую imaplib2 Python, если это имеет значение. Иногда он дублирует \ как \\ .. Так что все еще '> HIPP4 UID SEARCH (X-GM-LABELS (\ Drafts)) \ r \ n HNEN4 UID SEARCH (X-GM-LABELS \ Drafts) \ r \ n
kuz8