delimiter = re.escape(mailbox[1])
pattern = '^\"?INBOX' + delimiter + re.escape(args.folder) + "[\"?$|" + delimiter + "]"
if args.folder != "all folders" and re.compile(pattern).match(mailbox[2]) == None:
+ logging.info("Skipping mailbox %s", mailbox[2])
continue
try:
mail_ids = session.fetch_messages()
try:
if len(mail_ids) > 0:
mail_id_range = min(mail_ids, key=int).decode('iso-8859-1') + ':' + max(mail_ids, key=int).decode('iso-8859-1')
- session.set_seen_messages(mail_id_range)
+ session.set_seen_messages(mailbox, mail_id_range)
total_messages += len(mail_ids)
+ else:
+ logging.info("Skipping empty mailbox %s", mailbox[2])
except UserWarning as ex:
logging.error(ex)
# 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')