self.mail_con = imaplib.IMAP4_SSL(server)
self.mail_con.login(username, password)
logging.info("Logged in as %s.", username)
- except:
+ except (self.mail_con.error):
self.logged_in = False
raise UserWarning("Could not log in as user " + username + ".")
self.logged_in = True
try:
_result, self.mailboxes = self.mail_con.list()
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not retrieve mailboxes for user " + username + ".")
self.skip_shared_folders = skip_shared_folders
# retrieve uidvalidity
try:
_result, data = self.mail_con.status(mailbox[2], '(UIDVALIDITY)')
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not retrieve mailbox uidvalidity.")
uidval = UIDVAL_RESP.match(data[0].decode('iso-8859-1')).groups()
logging.debug("Extracted mailbox info is %s %s.", data[0], uidval)
try:
self.mail_con.select(mailbox[2])
except self.mail_con.readonly:
- logging.warning("Mailbox %s is not writable and therefore skipped.", mailbox[2])
+ logging.warning("Mailbox %s is not writable and therefore skipped.", mailbox[2])
continue
yield (mailbox[2], uidval[1])
"""Fetches the messages from the current mailbox, return list of uids."""
try:
_result, data = self.mail_con.uid('search', None, "ALL")
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not fetch messages.")
mailid_list = data[0].split()
return mailid_list
"""Fetches the internal date of a message, returns a time tuple."""
try:
_result, data = self.mail_con.uid('fetch', mid, '(INTERNALDATE)')
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not fetch the internal date of message " + mid.decode('iso-8859-1') + ".")
internal_date = imaplib.Internaldate2tuple(data[0])
return internal_date
"""Fetches the received date of a message, returns bytes reponse."""
try:
_result, data = self.mail_con.uid('fetch', mid, '(BODY.PEEK[HEADER.FIELDS (RECEIVED)])')
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not fetch the received header of message " + mid.decode('iso-8859-1') + ".")
return data[0][1].decode('iso-8859-1')
"""Fetches the basic date of a message, returns bytes reponse."""
try:
_result, data = self.mail_con.uid('fetch', mid, '(BODY.PEEK[HEADER.FIELDS (DATE)])')
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not fetch the date header of message " + mid.decode('iso-8859-1') + ".")
return data[0][1].decode('iso-8859-1')
result, data = self.mail_con.append(mailbox, flags_str,
internal_date_sec, data[0][1])
logging.debug("Adding corrected copy of the message reponse: %s %s", result, data)
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not replace the e-mail " + mid.decode('iso-8859-1') + ".")
try:
result, data = self.mail_con.uid('STORE', mid, '+FLAGS', r'(\Deleted)')
logging.debug("Removing old copy of the message reponse: %s %s", result, data)
- except:
+ except (self.mail_con.error):
raise UserWarning("Could not delete the e-mail " + mid.decode('iso-8859-1') + ".")
self.mail_con.expunge()
return