mailFunctions.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import imaplib
  2. def errorMsgExit(error_msg):
  3. print("Error: " + error_msg)
  4. def checkConnection(host, username, password, port):
  5. try:
  6. connection = imaplib.IMAP4_SSL(host, port)
  7. connection.login(username, password)
  8. connection.logout()
  9. return True
  10. except Exception as e:
  11. print(str(e))
  12. return False
  13. def connect(host, username, password, port):
  14. connect = imaplib.IMAP4_SSL(host, port)
  15. connect.login(username, password)
  16. return connect
  17. def listMailboxes(connection):
  18. mailboxes = connection.list()
  19. formatted_mailbox_list = []
  20. for items in mailboxes:
  21. if type(items) == list:
  22. for raw_box_string in items:
  23. box_string = str(raw_box_string)
  24. # TODO: handle cases when folder contains subfolders
  25. modified_box_string = (box_string[box_string.find('"/" ')+4:-1])
  26. # strip unneeded "'s surrounding the folder name
  27. if modified_box_string.startswith('"') and modified_box_string.endswith('"'):
  28. modified_box_string = modified_box_string[1:-1]
  29. formatted_mailbox_list.append(modified_box_string)
  30. connection.logout()
  31. return formatted_mailbox_list