import logging import random import time import requests from db.mongo_manager import MONGO_STORE_MANAGER from mail.mail_reader_all_contacts import find_links_to_validate_from_mail_list from models.mail_pojo import MailAddress host = "https://authhk.bhdata.com:30015/bhmailer?uid=482391396&sign=32d7748da00047b9a1054c81a5750365" HERMES_EMAIL = "no-reply@hermes.com" def get_api_info(): _time = str(int(time.time() * 1000)) _api_info = host + "&act=getApiInfo&t=" + _time print(_api_info) res = requests.get(_api_info, verify=False) print(res.text) def get_mail(mail: str): _time = str(int(time.time() * 1000)) _hermes_mail = "Votre demande de rendez-vous" _api_info = host + "&act=getMail&email={}&title={}&t={}".format(mail, _hermes_mail, _time) print(_api_info) res = requests.get(_api_info, verify=False) print(res.text) def check_mail(mail: str): print("check_mail called for {}".format(mail)) _time = str(int(time.time() * 1000)) _hermes_mail = HERMES_EMAIL _subjet = "Votre rendez-vous est confirmé" _api_info = host + "&act=checkMail&email={}&from={}&title={}&t={}".format(mail, _hermes_mail, _subjet, _time) print(_api_info) res = requests.get(_api_info, verify=False) print(res.text) def get_account(mail: str): _time = str(int(time.time() * 1000)) _api_info = host + "&act=getAccount&email={}&t={}".format(mail, _time) print(_api_info) res = requests.get(_api_info, verify=False) print(res.text) def filter_mail_with_links(_mail_list_to_filter): _new_mail_list = [] _link_to_validate_list = MONGO_STORE_MANAGER.get_links_to_validate() for _mail in _mail_list_to_filter: _to_add = True for _link in _link_to_validate_list: if _link.email == _mail: _to_add = False if _to_add: _new_mail_list.append(_mail) return _new_mail_list def get_mail_list_to_check(): successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() _mail_list = [] for _item in successful_items: if _item.url_validated is None or _item.url_validated != True: _mail_list.append(_item.email) return _mail_list def check_confirmed_mails(): successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() # _mail_list = [] for _item in successful_items: if "outlook" in _item.email or "hotmail" in _item.email: check_mail(_item.email) time.sleep(random.randint(1, 5)) def check_all_need_to_check_emails(): logger = logging.getLogger() _mail_list_before_filter = get_mail_list_to_check() _mails = filter_mail_with_links(_mail_list_before_filter) for _mail in _mails: if "outlook.com" in _mail or "hotmail.com" in _mail: check_mail(_mail) time.sleep(2) _mail_list = [MailAddress("saigecong1990@pissmail.com", "cvExXKOP8oY1D@")] find_links_to_validate_from_mail_list(_mail_list, logger) if __name__ == '__main__': # check_all_need_to_check_emails() check_confirmed_mails()