summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/camel/providers/imapx/camel-imapx-server.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
index 1c4160288..1464042ca 100644
--- a/src/camel/providers/imapx/camel-imapx-server.c
+++ b/src/camel/providers/imapx/camel-imapx-server.c
@@ -5675,6 +5675,15 @@ camel_imapx_server_refresh_info_sync (CamelIMAPXServer *is,
success = camel_imapx_server_process_command_sync (is, ic, _("Error running STATUS"), cancellable, error);
+ /* Ignore permission errors from possibly write-only mailboxes */
+ if (!success && ic->status && ic->status->result == IMAPX_NO && ic->status->text &&
+ camel_strstrcase (ic->status->text, "Permission denied")) {
+ camel_imapx_command_unref (ic);
+ g_clear_object (&selected_mailbox);
+ g_clear_error (error);
+ return TRUE;
+ }
+
camel_imapx_command_unref (ic);
}
g_clear_object (&selected_mailbox);