try:
_result, mailboxes = self.mail_con.list()
except self.mail_con.error as ex:
- logging.warning("Could not retrieve mailboxes for user %s: %s", username, ex)
+ logging.error("Could not retrieve mailboxes for user %s: %s", username, ex)
self.mailboxes = []
for mailbox in mailboxes:
mailbox = MAILBOX_RESP.match(mailbox.decode('iso-8859-1')).groups()
self.mailboxes.append(mailbox)
- self.mailboxes = sorted(self.mailboxes, key=lambda box: box[2], reverse=True)
+ self.mailboxes = sorted(self.mailboxes, key=lambda box: box[2], reverse=False)
return
for mailbox in self.mailboxes:
logging.debug("Checking mailbox %s", mailbox[2])
# detect if mailbox is shared and if skip flag is set iterate further
- if(self.skip_shared_folders and mailbox[2].split(mailbox[1])[0] == '"user'):
+ imap_delimiter = mailbox[1]
+ if(self.skip_shared_folders and mailbox[2].split(imap_delimiter)[0] == '"user'):
logging.info("Mailbox %s is shared and therefore skipped.", mailbox[2])
continue
# select mailbox if writable
try:
self.mail_con.select(mailbox[2])
- logging.info("Processing mailbox %s", mailbox[2])
except self.mail_con.readonly:
logging.warning("Mailbox %s is not writable and therefore skipped", mailbox[2])
continue
mailid_list = data[0].split()
return mailid_list
- def set_seen_messages(self, mid_range):
+ def set_seen_messages(self, mailbox, mid_range):
"""Sets the \\Seen flag for all messages with the respective mids."""
+ logging.info("Processing mailbox %s", mailbox[2])
try:
# Work around unsolicited server responses in imaplib by clearing them
self.mail_con.response('STORE')
- _result, data = self.mail_con.uid('STORE', mid_range, '+FLAGS', "(\Seen)")
+ _result, data = self.mail_con.uid('STORE', mid_range, '+FLAGS', "(\\Seen)")
logging.debug("New flags for messages %s are %s", mid_range, data)
except (self.mail_con.error) as ex:
raise UserWarning("Could not set the flags for some messages: %s", ex)