diff --git a/app/src/main/java/eu/faircode/email/EmailService.java b/app/src/main/java/eu/faircode/email/EmailService.java index 5b1f855dbf..26e0adcde7 100644 --- a/app/src/main/java/eu/faircode/email/EmailService.java +++ b/app/src/main/java/eu/faircode/email/EmailService.java @@ -930,18 +930,27 @@ public class EmailService implements AutoCloseable { List getFolders() throws MessagingException { List folders = new ArrayList<>(); - for (Folder ifolder : getStore().getDefaultFolder().list("*")) { - String fullName = ifolder.getFullName(); - String[] attrs = ((IMAPFolder) ifolder).getAttributes(); - String type = EntityFolder.getType(attrs, fullName, true); - Log.i(fullName + " attrs=" + TextUtils.join(" ", attrs) + " type=" + type); + try { + for (Folder ifolder : getStore().getDefaultFolder().list("*")) { + String fullName = ifolder.getFullName(); + String[] attrs = ((IMAPFolder) ifolder).getAttributes(); + String type = EntityFolder.getType(attrs, fullName, true); + Log.i(fullName + " attrs=" + TextUtils.join(" ", attrs) + " type=" + type); - if (type != null) - folders.add(new EntityFolder(fullName, type)); + if (type != null) + folders.add(new EntityFolder(fullName, type)); + } + + EntityFolder.guessTypes(folders); + } catch (MessagingException ex) { + if (ex.getMessage() != null && + ex.getMessage().contains("LIST processing failed")) { + Log.w(ex); + folders.add(new EntityFolder("Inbox", EntityFolder.INBOX)); + } else + throw ex; } - EntityFolder.guessTypes(folders); - return folders; }