aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xarchivemail16
1 files 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