67 lines
2.0 KiB
Python
67 lines
2.0 KiB
Python
"""
|
|
mail/
|
|
=====
|
|
Package de lecture IMAP pour le bot appointment_request.
|
|
|
|
Architecture (du plus bas au plus haut niveau) :
|
|
|
|
imap_proxy_reader — bibliothèque de bas niveau, sans dépendances internes
|
|
ProxyConfig dataclass de configuration proxy (SOCKS5/SOCKS4/HTTP)
|
|
ProxyIMAPClient IMAPClient passant par un proxy
|
|
get_imap_server(login) résolution domaine → serveur IMAP
|
|
extract_body(msg) extraction HTML/texte d'un email
|
|
send_imap_id(imap) spoofing fingerprint client (RFC 2971)
|
|
VALIDATION_URL_* constantes Hermes (source de vérité)
|
|
IMAP_SERVER_MAP table domaine → serveur
|
|
|
|
mail_constants IMAPClient avec fingerprint + fabrique create_imap()
|
|
FingerprintIMAPClient IMAPClient auto-ID après login
|
|
create_imap(login) fabrique → FingerprintIMAPClient sur le bon serveur
|
|
show_folders(imap) liste des dossiers (IMAPClient ou imaplib)
|
|
|
|
mail_reader_all_contacts logique métier de haut niveau
|
|
MailReader lit les emails d'un compte (direct ou proxy)
|
|
find_links_to_validate_from_mail_list() point d'entrée principal
|
|
"""
|
|
|
|
from mail.imap_proxy_reader import (
|
|
ProxyConfig,
|
|
ProxyIMAPClient,
|
|
get_imap_server,
|
|
extract_body,
|
|
send_imap_id,
|
|
VALIDATION_URL_SUBJECT_FR,
|
|
VALIDATION_URL_SUBJECT_EN,
|
|
VALIDATION_URL_REGEX,
|
|
IMAP_SERVER_MAP,
|
|
)
|
|
from mail.mail_constants import (
|
|
FingerprintIMAPClient,
|
|
create_imap,
|
|
show_folders,
|
|
)
|
|
from mail.mail_reader_all_contacts import (
|
|
MailReader,
|
|
find_links_to_validate_from_mail_list,
|
|
)
|
|
|
|
__all__ = [
|
|
# imap_proxy_reader
|
|
"ProxyConfig",
|
|
"ProxyIMAPClient",
|
|
"get_imap_server",
|
|
"extract_body",
|
|
"send_imap_id",
|
|
"VALIDATION_URL_SUBJECT_FR",
|
|
"VALIDATION_URL_SUBJECT_EN",
|
|
"VALIDATION_URL_REGEX",
|
|
"IMAP_SERVER_MAP",
|
|
# mail_constants
|
|
"FingerprintIMAPClient",
|
|
"create_imap",
|
|
"show_folders",
|
|
# mail_reader_all_contacts
|
|
"MailReader",
|
|
"find_links_to_validate_from_mail_list",
|
|
]
|