Назад | Перейти на главную страницу

Подпапки imap не показаны в команде list - возможно, неправильная конфигурация acls

Моя цель - скопировать всю структуру папок со всеми письмами из одной учетной записи imap в другую. Инструмент, который я использую для этого, imapcopy (версия на основе java с code.google.com, поскольку инструмент unix / linux, входящий в пакет debian, не поддерживает imaps).

Теперь есть одна проблема: инструмент копирует только папки верхнего уровня, а не вложенные. Чтобы сузить проблему, я загрузил исходный код imapcopy и отладил его. Там я заметил, что folder.list() (который отображается на list "%" команда imap) возвращает пустой список. Но когда я делаю getFolder(<subfoldername>) Я могу получить доступ к этим подпапкам. После прочтения документации о функциях imap я думаю, что проблема может быть в некоторых неправильно настроенных списках контроля доступа, которые запрещают перечисление этих папок, но позволяют читать рекламу и писать в них.

Как мне проверить эти ACL? какие инструменты мне нужны для этой задачи?

Сам нашел решение: кажется, что звонил open() для конкретной папки приводит к пустому списку подпапок для той же папки. Перемещая линию вызова list() перед вызовом на линию open(), imapcopy работает как положено. Я также добавил свой измененный код Java к уже существующему запросу о проблеме в imapcopy проект.