diff options
-rw-r--r-- | src/camel/providers/imapx/camel-imapx-server.c | 9 |
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); |