diff --git a/src/mail/mail_constants.py b/src/mail/mail_constants.py index 590f131..8a2726a 100644 --- a/src/mail/mail_constants.py +++ b/src/mail/mail_constants.py @@ -1,5 +1,6 @@ DOMAIN_YAHOO = "yahoo.com" DOMAIN_SINA = "sina.com" +DOMAIN_HOTMAIL = "hotmail.com" DOMAIN_163 = "163.com" @@ -7,3 +8,4 @@ AOL_IMAP_SERVER = "imap.aol.com" IMAP_SERVER_163 = "imap.163.com" IMAP_SERVER_SINA = "imap.sina.com" YAHOO_IMAP_SERVER = "imap.mail.yahoo.com" +HOTMAIL_IMAP_SERVER = "outlook.office365.com" diff --git a/src/mail/mail_reader.py b/src/mail/mail_reader.py index 4b13228..fac4e83 100644 --- a/src/mail/mail_reader.py +++ b/src/mail/mail_reader.py @@ -12,7 +12,7 @@ from src import params from src.db.mongo_manager import MONGO_STORE_MANAGER from src.logs.AppLogging import init_logger from src.mail.mail_constants import DOMAIN_163, DOMAIN_YAHOO, DOMAIN_SINA, IMAP_SERVER_163, YAHOO_IMAP_SERVER, \ - IMAP_SERVER_SINA, AOL_IMAP_SERVER + IMAP_SERVER_SINA, AOL_IMAP_SERVER, DOMAIN_HOTMAIL, HOTMAIL_IMAP_SERVER from src.pojo.mail.mail_pojo import MailPojo, MailAddress from src.proxy.proxy_type import ProxyType from src.utils.timeutiles import is_time_between @@ -39,7 +39,7 @@ class MailReader(): l = i.decode().split(' "/" ') print(l[0] + " = " + l[1]) - def read_emails(self, mails_messages: list) -> list: + def create_imap(self): # create an IMAP4 class with SSL if DOMAIN_163 in self.login: imap = imaplib.IMAP4_SSL(IMAP_SERVER_163) @@ -47,8 +47,15 @@ class MailReader(): imap = imaplib.IMAP4_SSL(YAHOO_IMAP_SERVER) elif DOMAIN_SINA in self.login: imap = imaplib.IMAP4_SSL(IMAP_SERVER_SINA) + elif DOMAIN_HOTMAIL in self.login: + imap = imaplib.IMAP4_SSL(HOTMAIL_IMAP_SERVER) else: imap = imaplib.IMAP4_SSL(AOL_IMAP_SERVER) + return imap + + def read_emails(self, mails_messages: list) -> list: + # create an IMAP4 class with SSL + imap = self.create_imap() # authenticate imap.login(self.login, self.password) mail_list = [] @@ -196,7 +203,7 @@ def read_mails(): if need_to_valid_url(url, successful_items): # MONGO_STORE_MANAGER.save_links_to_validate(url) url_validator = LinkValidator(url) - # print("need to validate url: " + url) + print("need to validate url: " + url) executor.submit(url_validator.start_page, params.get_proxy(ProxyType.OXYLABS), True) else: print("do not need to click url --> {}".format(mail.mail_address))