add alice.it mails

This commit is contained in:
2023-03-26 20:11:54 +02:00
parent 2565686d11
commit ce8be6d684
4 changed files with 36 additions and 54 deletions
+4 -23
View File
@@ -1,20 +1,17 @@
import datetime import datetime
import email import email
import imaplib from builtins import list
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from email.header import decode_header from email.header import decode_header
from email.message import Message from email.message import Message
from builtins import list
from src.db.mirgration.migration_tools import migre_accepted_appointment from src.db.mirgration.migration_tools import migre_accepted_appointment
from src.db.mongo_manager import MONGO_STORE_MANAGER 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, \ from src.mail.mail_constants import DOMAIN_HOTMAIL, create_imap
IMAP_SERVER_SINA, AOL_IMAP_SERVER, DOMAIN_HOTMAIL, HOTMAIL_IMAP_SERVER, DOMAIN_RAMBLER_RU, RAMBLER_IMAP_SERVER
from src.notification.AcceptedResultPojo import get_accepted_result_from from src.notification.AcceptedResultPojo import get_accepted_result_from
from src.notification.mailer import Mailer from src.notification.mailer import Mailer
from src.pojo.ResultEnum import ResultEnum from src.pojo.ResultEnum import ResultEnum
from src.pojo.mail.mail_pojo import MailPojo, MailAddress from src.pojo.mail.mail_pojo import MailPojo
CONFIRMATION_SUBJECT_FR = 'Votre rendez-vous est' CONFIRMATION_SUBJECT_FR = 'Votre rendez-vous est'
CONFIRMATION_SUBJECT_EN = 'appointment is confirmed' CONFIRMATION_SUBJECT_EN = 'appointment is confirmed'
@@ -34,25 +31,9 @@ class MailConfirmationReader():
l = i.decode().split(' "/" ') l = i.decode().split(' "/" ')
print(l[0] + " = " + l[1]) 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)
elif DOMAIN_HOTMAIL in self.login:
imap = imaplib.IMAP4_SSL(HOTMAIL_IMAP_SERVER)
elif DOMAIN_RAMBLER_RU in self.login:
imap = imaplib.IMAP4_SSL(RAMBLER_IMAP_SERVER)
else:
imap = imaplib.IMAP4_SSL(AOL_IMAP_SERVER)
return imap
def read_emails(self, mails_messages: list) -> list: def read_emails(self, mails_messages: list) -> list:
# create an IMAP4 class with SSL # create an IMAP4 class with SSL
imap = self.create_imap() imap = create_imap(self.login)
# authenticate # authenticate
type, dat = imap.login(self.login, self.password) type, dat = imap.login(self.login, self.password)
print("type is {} for {}".format(type, self.login)) print("type is {} for {}".format(type, self.login))
+23
View File
@@ -1,9 +1,12 @@
import imaplib
DOMAIN_YAHOO = "yahoo.com" DOMAIN_YAHOO = "yahoo.com"
DOMAIN_SINA = "sina.com" DOMAIN_SINA = "sina.com"
DOMAIN_HOTMAIL = "hotmail.com" DOMAIN_HOTMAIL = "hotmail.com"
DOMAIN_163 = "163.com" DOMAIN_163 = "163.com"
DOMAIN_RAMBLER_RU = "rambler.ru" DOMAIN_RAMBLER_RU = "rambler.ru"
DOMAIN_ALICE_IT = "alice.it"
AOL_IMAP_SERVER = "imap.aol.com" AOL_IMAP_SERVER = "imap.aol.com"
IMAP_SERVER_163 = "imap.163.com" IMAP_SERVER_163 = "imap.163.com"
@@ -11,3 +14,23 @@ IMAP_SERVER_SINA = "imap.sina.com"
YAHOO_IMAP_SERVER = "imap.mail.yahoo.com" YAHOO_IMAP_SERVER = "imap.mail.yahoo.com"
HOTMAIL_IMAP_SERVER = "outlook.office365.com" HOTMAIL_IMAP_SERVER = "outlook.office365.com"
RAMBLER_IMAP_SERVER = "imap.rambler.ru" RAMBLER_IMAP_SERVER = "imap.rambler.ru"
ALICE_IMAP_SERVER = "in.alice.it"
def create_imap(login: str):
# create an IMAP4 class with SSL
if DOMAIN_163 in login:
imap = imaplib.IMAP4_SSL(IMAP_SERVER_163)
elif DOMAIN_YAHOO in login:
imap = imaplib.IMAP4_SSL(YAHOO_IMAP_SERVER)
elif DOMAIN_SINA in login:
imap = imaplib.IMAP4_SSL(IMAP_SERVER_SINA)
elif DOMAIN_HOTMAIL in login:
imap = imaplib.IMAP4_SSL(HOTMAIL_IMAP_SERVER)
elif DOMAIN_RAMBLER_RU in login:
imap = imaplib.IMAP4_SSL(RAMBLER_IMAP_SERVER)
elif DOMAIN_ALICE_IT in login:
imap = imaplib.IMAP4(ALICE_IMAP_SERVER, port=143)
else:
imap = imaplib.IMAP4_SSL(AOL_IMAP_SERVER)
return imap
+5 -27
View File
@@ -1,23 +1,17 @@
import datetime import datetime
import email import email
import imaplib
import re import re
from builtins import list
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from datetime import time
from email.header import decode_header from email.header import decode_header
from email.message import Message from email.message import Message
from builtins import list
from src import params
from src.db.mongo_manager import MONGO_STORE_MANAGER from src.db.mongo_manager import MONGO_STORE_MANAGER
from src.logs.AppLogging import init_logger 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, \ from src.mail.mail_constants import DOMAIN_HOTMAIL, create_imap
IMAP_SERVER_SINA, AOL_IMAP_SERVER, DOMAIN_HOTMAIL, HOTMAIL_IMAP_SERVER, DOMAIN_RAMBLER_RU, RAMBLER_IMAP_SERVER from src.pojo.mail.mail_pojo import MailPojo
from src.pojo.mail.mail_pojo import MailPojo, MailAddress
from src.proxy.proxy_type import ProxyType
from src.utils.timeutiles import is_time_between from src.utils.timeutiles import is_time_between
from src.workers.link_validator import LinkValidator
from datetime import time
VALIDATION_URL_SUBJECT_fr = 'Validation de votre demande de rendez-vous' VALIDATION_URL_SUBJECT_fr = 'Validation de votre demande de rendez-vous'
VALIDATION_URL_SUBJECT_EN = 'Please confirm your appointment' VALIDATION_URL_SUBJECT_EN = 'Please confirm your appointment'
@@ -39,25 +33,9 @@ class MailReader():
l = i.decode().split(' "/" ') l = i.decode().split(' "/" ')
print(l[0] + " = " + l[1]) 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)
elif DOMAIN_HOTMAIL in self.login:
imap = imaplib.IMAP4_SSL(HOTMAIL_IMAP_SERVER)
elif DOMAIN_RAMBLER_RU in self.login:
imap = imaplib.IMAP4_SSL(RAMBLER_IMAP_SERVER)
else:
imap = imaplib.IMAP4_SSL(AOL_IMAP_SERVER)
return imap
def read_emails(self, mails_messages: list) -> list: def read_emails(self, mails_messages: list) -> list:
# create an IMAP4 class with SSL # create an IMAP4 class with SSL
imap = self.create_imap() imap = create_imap(self.login)
# authenticate # authenticate
type, dat = imap.login(self.login, self.password) type, dat = imap.login(self.login, self.password)
print("type is {} for {}".format(type, self.login)) print("type is {} for {}".format(type, self.login))
+4 -4
View File
@@ -227,12 +227,12 @@ def save_mails_to_db():
if __name__ == '__main__': if __name__ == '__main__':
# excel_reader = ExcelHelper() # excel_reader = ExcelHelper()
# contacts = excel_reader.read_names("/Users/lpan/Downloads/500_yahoo_12-03-2023.xlsx") # contacts = excel_reader.read_names("/Users/lpan/Downloads/10_rambler_ru_23_03_2023.xlsx")
# print(contacts) # print(contacts)
# write_new_contacts_to_excel(valid_contacts=contacts) # write_new_contacts_to_excel(valid_contacts=contacts)
excel_reader = ExcelHelper() # excel_reader = ExcelHelper()
excel_reader.check_contact_list() # excel_reader.check_contact_list()
# save_mails_to_db() save_mails_to_db()
# for mail in excel_reader.read_mails_and_pwd(): # for mail in excel_reader.read_mails_and_pwd():
# MONGO_STORE_MANAGER.insert_email(mail) # MONGO_STORE_MANAGER.insert_email(mail)
# for i in range(1, 64): # for i in range(1, 64):