fix int password probleme on the emails

This commit is contained in:
2023-03-31 09:48:50 +02:00
parent 57e5c6219e
commit 71dac40b45
+13 -19
View File
@@ -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)