Ошибка «Клиент не пытался получить доступ к несуществующему пространству имен» при создании папки с помощью Jakarta Mail 2.0.0.

Я пытаюсь создать папку в папке «Входящие», используя Jakarta Mail 2.0.0, это вывод отладки:

      A2 CREATE "Created folder - 2021-03-23"
A2 NO Client tried to access nonexistent namespace. (Mailbox name should probably be prefixed with: INBOX.) (0.001 + 0.000 secs).

Посоветуйте, пожалуйста, как установить приставку?

Спасибо

1 ответ

У меня есть только опыт работы с javax.mail. Когда я получил это исключение, я создал папку следующим образом:

          URLName url = new URLName("imaps", host, 993, "INBOX", email, password);
    Store store = session.getStore(url);
    store.connect();
    Folder inbox = store.getFolder(url);
    Folder myFolder = store.getFolder("MyNewFolder");

И всякий раз, когда я пытался переместить что-то из папки «Входящие» в папку «Моя папка», я получал указанную вами ошибку. Как и не смог создать саму папку (исключение не кинуло, просто вернуло false). Обратите внимание, что этот метод по какой-то причине работал с gmail без каких-либо исключений, но не с какими-либо другими хостами imap.

Итак, что я сделал вместо store.getFolder("MyNewFolder");я использовал Folder myFolder = inbox.getFolder("MyFolder");

Итак, в основном я получил ссылку на папку через папку «Входящие», а не из сеанса.

Я понятия не имею, работает ли почта Джакарты так же или нет, но я оставлю свое решение здесь, потому что я вообще ничего не нашел, связанного с этим, и это может быть кому-то полезно.

Другие вопросы по тегам