try to read confirmation email from junk/bulk box

This commit is contained in:
2022-12-16 16:28:45 +01:00
parent 0fe78c7e1a
commit af3e4c17b5
+13 -3
View File
@@ -10,7 +10,7 @@ from builtins import list
from src.db.mirgration.migration_tools import migre_accepted_appointment
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
IMAP_SERVER_SINA, AOL_IMAP_SERVER, DOMAIN_HOTMAIL, HOTMAIL_IMAP_SERVER
from src.notification.AcceptedResultPojo import get_accepted_result_from
from src.notification.mailer import Mailer
from src.pojo.ResultEnum import ResultEnum
@@ -34,7 +34,7 @@ class MailConfirmationReader():
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)
@@ -42,15 +42,25 @@ class MailConfirmationReader():
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)
type, dat = imap.login(self.login, self.password)
print("type is {} for {}".format(type, self.login))
mail_list = []
print("read mails from {}".format(self.login))
# self.show_folders(imap)
mail_list.extend(self._get_messages_from_folder(imap, CONFIRMATION_SUBJECT_FR))
mail_list.extend(self._get_messages_from_folder(imap, CONFIRMATION_SUBJECT_EN))
mail_list.extend(self._get_messages_from_folder(imap, subject=CONFIRMATION_SUBJECT_EN, folder="Junk"))
mail_list.extend(self._get_messages_from_folder(imap, subject=CONFIRMATION_SUBJECT_EN, folder="Bulk"))
# close the connection and logout
imap.close()
imap.logout()