diff --git a/src/mail/mail_address_validator.py b/src/mail/mail_address_validator.py index c1c08f5..c82f6e0 100644 --- a/src/mail/mail_address_validator.py +++ b/src/mail/mail_address_validator.py @@ -1,9 +1,7 @@ -import imaplib from concurrent.futures.thread import ThreadPoolExecutor from src.db.mongo_manager import MONGO_STORE_MANAGER -from src.mail.mail_constants import DOMAIN_163, DOMAIN_YAHOO, DOMAIN_SINA, IMAP_SERVER_163, YAHOO_IMAP_SERVER, \ - IMAP_SERVER_SINA, AOL_IMAP_SERVER +from src.mail.mail_constants import create_imap from src.pojo.mail.mail_pojo import MailAddress @@ -18,25 +16,13 @@ class MailAddressValidator(): l = i.decode().split(' "/" ') print(l[0] + " = " + l[1]) - def create_imap(self): - # create an IMAP4 class with SSL - if DOMAIN_163 in self.login: - imap = imaplib.IMAP4_SSL(IMAP_SERVER_163) - elif DOMAIN_YAHOO in self.login: - imap = imaplib.IMAP4_SSL(YAHOO_IMAP_SERVER) - elif DOMAIN_SINA in self.login: - imap = imaplib.IMAP4_SSL(IMAP_SERVER_SINA) - else: - imap = imaplib.IMAP4_SSL(AOL_IMAP_SERVER) - return imap - def is_valid_email_address(self) -> bool: # authenticate - imap = self.create_imap() + imap = create_imap(self.login) isValid = True try: - type, dat = imap.login(self.login, self.password) - print("type is " + type) + type, dat = imap.login(self.login, str(self.password)) + print("type is " + str(type) + "for:" + self.login) imap.logout() except Exception as error: print(error) @@ -58,7 +44,15 @@ def remove_invalid_email(): def find_and_update_invalid_emails(): mail_list = MONGO_STORE_MANAGER.get_destination_emails() - with ThreadPoolExecutor(max_workers=20) as executor: + # mail_address1 = MailAddress(mail="riagiovanni@alice.it", password="26021978") + # # mail_address2 = MailAddress(mail="chenpeijun@aol.com", password="ytifuwguknzifqyb") + # # mail_address2 = MailAddress(mail="sdfgfhgf1986@aol.com", password="fjwcgvhxxlywqfwm") + # # mail_address3 = MailAddress(mail="ciyuexie@aol.com", password="czezlmmyypokdfce") + # # mail_address4 = MailAddress(mail="hongjiang176@aol.com", password="ftzpscgzvwneelmn") + # mail_address4 = MailAddress(mail="ryan_meacham2856@yahoo.com", password="ulgggkodxqbvrpgm") + # mail_list = [mail_address3, mail_address2, mail_address1, mail_address4] + # mail_list = [mail_address1] + with ThreadPoolExecutor(max_workers=200) as executor: for mail in mail_list: valiator = MailAddressValidator(mail.mail, mail.password) executor.submit(valiator.check_and_save_to_db)