Ошибка «Клиент не пытался получить доступ к несуществующему пространству имен» при создании папки с помощью 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");
Итак, в основном я получил ссылку на папку через папку «Входящие», а не из сеанса.
Я понятия не имею, работает ли почта Джакарты так же или нет, но я оставлю свое решение здесь, потому что я вообще ничего не нашел, связанного с этим, и это может быть кому-то полезно.