Update for multiple accounts

This commit is contained in:
Alexander Hosking 2023-01-08 10:11:40 -05:00
parent 4a8f30ff0b
commit da79194e87

View File

@ -1,19 +1,24 @@
import os import os
import imaplib import imaplib
import time import json
import re
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
print(os.environ.get("APP_PASSWORD")) EMAIL_ACCOUNTS = json.loads(os.environ.get("MAIL_ACCOUNTS"))
EMAIL_PASSWORDS = json.loads(os.environ.get("MAIL_PASSWORDS"))
# using zip()
# to convert lists to dictionary
accounts = dict(zip(EMAIL_ACCOUNTS, EMAIL_PASSWORDS))
print(accounts)
################ IMAP SSL ############################## ################ IMAP SSL ##############################
with imaplib.IMAP4_SSL(host="imap.gmail.com", port=imaplib.IMAP4_SSL_PORT) as imap_ssl: for account in accounts:
with imaplib.IMAP4_SSL(host="imap.gmail.com", port=imaplib.IMAP4_SSL_PORT) as imap_ssl:
print("Connection Object : {}".format(imap_ssl)) print("Connection Object : {}".format(imap_ssl))
print("Logging into mailbox...") print("Logging into mailbox...")
try: try:
resp_code, response = imap_ssl.login("alexander@ahosking.com", os.environ.get("APP_PASSWORD")) resp_code, response = imap_ssl.login(account, accounts[account])
except Exception as e: except Exception as e:
print("ErrorType : {}, Error : {}".format(type(e).__name__, e)) print("ErrorType : {}, Error : {}".format(type(e).__name__, e))
resp_code, response = None, None resp_code, response = None, None
@ -31,7 +36,7 @@ with imaplib.IMAP4_SSL(host="imap.gmail.com", port=imaplib.IMAP4_SSL_PORT) as im
else: else:
print('False') print('False')
############### Logout of Mailbox ###################### ############### Logout of Mailbox ######################
print("\nLogging Out....") print("\nLogging Out....")
imap_ssl.close() imap_ssl.close()