Я понимаю, что есть ряд библиотек для доступа к IMAP, от Java, Python и т. Д. Но то, что я хочу сделать, очень специфично и противоречит большинству примеров imap.
Простые части:
- При наличии IMAP-сервера, имени входа и определенного имени папки
- Обнулить все сообщения в этой папке (или Обнулить папку, если это проще или эффективнее?)
Нетипичные части:
- Выполнение удаления после каждого удаления N
- Включение некоторой логики повторения и размера пакета, чтобы занятые серверы - даже удаляли и удаляли по 100 сообщений засессия была бы помощью.
- НЕ загружайте все заголовки!
Последний вопрос - проблема.Каждый почтовый клиент, который я пробовал, загружает 20 000 заголовков электронной почты - что мне не нужно видеть.
При использовании сценариев POP3 я только что дал последовательные идентификаторы, 1, 2, 3 ...
Но каждый пример IMAP, который я видел, использует поле, полученное из заголовков.Поэтому, возможно, для удаления сообщений IMAP требуется идентификатор, который вы не можете угадать?(и можно получить, только выполнив запрос?)
Если бы мне нужно было получить заголовки, можно ли это сделать как можно более компактным?Или позвольте мне сделать только 100 за раз?
В качестве альтернативы, я попытался удалить всю папку через пользовательский интерфейс почтового клиента, но, похоже, это не работает.Я думаю, что он сначала пытается переместить все заголовки в корзину, но при этом не удается, поэтому никогда не попадает в часть удаления.Поэтому я не уверен, что удаление папки на самом деле более эффективно, чем удаление ее содержимого.
Любые мысли приветствуются.Я обычно работаю на Java или Python, но я гибкий.Я думаю, что это проблема протокола, а не проблема библиотеки.