use proxy for yahoo mails too
This commit is contained in:
@@ -16,9 +16,6 @@ def main():
|
||||
# initialize discord
|
||||
print("init discord done")
|
||||
_accepted_appointments = read_mails_and_find_confirmation_contacts(mode='default')
|
||||
# for item in _accepted_appointments:
|
||||
# send_message(create_message_from_item(item))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
@@ -12,8 +12,8 @@ from imapclient import IMAPClient
|
||||
from src.db.mirgration.migration_tools import migre_accepted_appointment
|
||||
from src.db.mongo_manager import MONGO_STORE_MANAGER
|
||||
from src.mail.imap_proxy_reader import ProxyMailReader, MailAccount, ProxyConfig
|
||||
from src.mail.mail_constants import create_imap, show_folders, is_gmx_address
|
||||
from src.mail.mail_reader import get_gmx_proxy_config
|
||||
from src.mail.mail_constants import create_imap, show_folders, is_gmx_address, is_yahoo_address
|
||||
from src.mail.mail_reader import get_gmx_proxy_config, get_yahoo_proxy_config
|
||||
from src.notification.AcceptedResultPojo import get_accepted_result_from
|
||||
from src.notification.mailer import Mailer
|
||||
from src.pojo.ResultEnum import ResultEnum
|
||||
@@ -213,11 +213,14 @@ def find_confirmation_contacts_for_today(mode: str = 'default'):
|
||||
def find_confirmation_contacts_mail_list(mail_list, subjects: list = None):
|
||||
mails_messages = []
|
||||
gmx_proxy_config = get_gmx_proxy_config()
|
||||
yahoo_proxy_config = get_yahoo_proxy_config()
|
||||
# read all the emails
|
||||
with ThreadPoolExecutor(max_workers=200) as executor:
|
||||
for mail in mail_list:
|
||||
if is_gmx_address(mail.mail) and gmx_proxy_config is not None:
|
||||
executor.submit(read_gmx_proxy_confirmation_emails, mail, mails_messages, gmx_proxy_config, subjects)
|
||||
elif is_yahoo_address(mail.mail) and yahoo_proxy_config is not None:
|
||||
executor.submit(read_gmx_proxy_confirmation_emails, mail, mails_messages, yahoo_proxy_config, subjects)
|
||||
else:
|
||||
mail_reader = MailConfirmationReader(mail.mail, mail.password)
|
||||
executor.submit(mail_reader.read_emails, mails_messages)
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import imaplib
|
||||
|
||||
from imapclient import IMAPClient
|
||||
|
||||
DOMAIN_YAHOO = "yahoo.com"
|
||||
@@ -44,6 +42,10 @@ def is_gmx_address(login: str) -> bool:
|
||||
return any(domain in login for domain in GMX_DOMAINS)
|
||||
|
||||
|
||||
def is_yahoo_address(login: str) -> bool:
|
||||
return DOMAIN_YAHOO in login
|
||||
|
||||
|
||||
DOMAIN_PISS_MAIL = "pissmail.com"
|
||||
DOMAIN_INCEL_EMAIL = "incel.email"
|
||||
DOMAIN_SHITPOSTING_EXPERT = "shitposting.expert"
|
||||
|
||||
+20
-3
@@ -1,20 +1,20 @@
|
||||
import datetime
|
||||
import email
|
||||
import re
|
||||
import os
|
||||
from typing import Optional
|
||||
import re
|
||||
from builtins import list
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from datetime import time
|
||||
from email.header import decode_header
|
||||
from email.message import Message
|
||||
from typing import Optional
|
||||
|
||||
from imapclient import IMAPClient
|
||||
|
||||
from src.db.mongo_manager import MONGO_STORE_MANAGER
|
||||
from src.logs.AppLogging import init_logger
|
||||
from src.mail.mail_constants import create_imap, show_folders, is_gmx_address
|
||||
from src.mail.imap_proxy_reader import ProxyMailReader, ProxyConfig, MailAccount
|
||||
from src.mail.mail_constants import create_imap, show_folders, is_gmx_address
|
||||
from src.pojo.mail.mail_pojo import MailPojo
|
||||
from src.utils.timeutiles import is_time_between
|
||||
|
||||
@@ -71,6 +71,23 @@ def get_gmx_proxy_config() -> Optional[ProxyConfig]:
|
||||
)
|
||||
|
||||
|
||||
def get_yahoo_proxy_config() -> Optional[ProxyConfig]:
|
||||
host = os.environ.get("YAHOO_PROXY_HOST", "")
|
||||
if not host:
|
||||
return None
|
||||
try:
|
||||
port = int(os.environ.get("YAHOO_PROXY_PORT", "443"))
|
||||
except ValueError:
|
||||
port = 443
|
||||
return ProxyConfig(
|
||||
host=host,
|
||||
port=port,
|
||||
proxy_type=os.environ.get("YAHOO_PROXY_TYPE", "SOCKS5"),
|
||||
username=os.environ.get("YAHOO_PROXY_USERNAME"),
|
||||
password=os.environ.get("YAHOO_PROXY_PASSWORD"),
|
||||
)
|
||||
|
||||
|
||||
def read_gmx_proxy_emails(mail, mails_messages: list, proxy_config: ProxyConfig) -> None:
|
||||
account = MailAccount(login=mail.mail, password=mail.password)
|
||||
results = ProxyMailReader(account, proxy_config).read(since=datetime.datetime.today())
|
||||
|
||||
@@ -32,7 +32,7 @@ def get_random_number(size=7) -> str:
|
||||
return ran
|
||||
|
||||
def generate_single_titre_sejour_number() -> str:
|
||||
id_number = prefix_tire_de_sejour + get_random_number()
|
||||
id_number = prefix_tire_de_sejour + get_random_number(size=8)
|
||||
return id_number
|
||||
|
||||
def generate_titre_sejour_number(size=10) -> list:
|
||||
|
||||
Reference in New Issue
Block a user