From 77a2856e4892a6e2231b50a0ae8e0b63eeb7ce08 Mon Sep 17 00:00:00 2001 From: Nikolaus Schulz Date: Sat, 16 Oct 2010 18:53:28 +0200 Subject: IMAP: don't prepend NAMESPACE prefix to INBOX and its children --- archivemail | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/archivemail b/archivemail index d5f326c..4eca685 100755 --- a/archivemail +++ b/archivemail @@ -1599,16 +1599,24 @@ def imap_guess_mailboxnames(srv, mailbox): hdelim = imap_getdelim(srv) vprint("IMAP namespace prefix: '%s', hierarchy delimiter: '%s'" % \ (nsprefix, hdelim)) - if mailbox.startswith(nsprefix): + if mailbox.upper() == "INBOX" or \ + (hdelim is not None and mailbox.upper().startswith("INBOX" + hdelim)): + # INBOX is not a real mailbox name, so namespace prefixes do not apply + # to INBOX and its children + boxnames = [mailbox] + elif mailbox.startswith(nsprefix): boxnames = [mailbox] else: boxnames = [nsprefix + mailbox] if os.path.sep in mailbox and hdelim is not None: mailbox = mailbox.replace(os.path.sep, hdelim) - if mailbox.startswith(nsprefix): + if mailbox.upper().startswith("INBOX" + hdelim): boxnames.append(mailbox) - if nsprefix: - boxnames.append(nsprefix + mailbox) + else: + if mailbox.startswith(nsprefix): + boxnames.append(mailbox) + if nsprefix: + boxnames.append(nsprefix + mailbox) return boxnames -- cgit v1.2.3