From e2c64839115294931e1b6ce9a9e84755b90629c1 Mon Sep 17 00:00:00 2001 From: PAN Lei Date: Tue, 31 Mar 2026 21:02:11 +0200 Subject: [PATCH] need to test read confirmation mails --- read_confirmation_emails.py | 3 +-- src/mail/imap_proxy_reader.py | 14 +++++--------- src/mail/mail_confirmation.py | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/read_confirmation_emails.py b/read_confirmation_emails.py index c145792..ad887c8 100755 --- a/read_confirmation_emails.py +++ b/read_confirmation_emails.py @@ -1,4 +1,3 @@ -from src.discord_helper import send_message from src.mail.mail_confirmation import read_mails_and_find_confirmation_contacts from src.pojo import ReserveResultPojo @@ -16,7 +15,7 @@ def create_message_from_item(item: ReserveResultPojo): def main(): # initialize discord print("init discord done") - _accepted_appointments = read_mails_and_find_confirmation_contacts() + _accepted_appointments = read_mails_and_find_confirmation_contacts(mode='gmx_only') # for item in _accepted_appointments: # send_message(create_message_from_item(item)) diff --git a/src/mail/imap_proxy_reader.py b/src/mail/imap_proxy_reader.py index 44cfc3d..12404da 100644 --- a/src/mail/imap_proxy_reader.py +++ b/src/mail/imap_proxy_reader.py @@ -22,12 +22,12 @@ import os import re import socket import ssl -from dataclasses import dataclass, field +import sys +from dataclasses import dataclass from email.message import Message from typing import List, Optional, Tuple import socks -import sys from dotenv import load_dotenv from imapclient import IMAPClient @@ -138,7 +138,6 @@ class MailResult: from_address: str to_address: str body: str - validation_urls: List[str] = field(default_factory=list) # ────────────────────────────────────────────────────────────── @@ -458,26 +457,23 @@ class ProxyMailReader: # Filtrer : on ne garde que les emails correspondant aux sujets/expéditeurs configurés is_validation = ( any(s in subject for s in self._subjects) - or any(addr in from_addr.lower() for addr in self._from_addresses) ) if not is_validation: continue body = extract_body(em) - urls = find_validation_urls(body) result = MailResult( account=self.account.login, subject=subject, from_address=from_addr, to_address=to_addr, - body=body, - validation_urls=urls, + body=body ) results.append(result) logger.info( - "[%s] Email de validation trouvé (uid=%s) — URLs : %s", - self.account.login, uid, urls or "aucune", + "[%s] Email trouvé (uid=%s) — URLs : %s", + self.account.login, uid ) except Exception as exc: logger.warning( diff --git a/src/mail/mail_confirmation.py b/src/mail/mail_confirmation.py index 53f2a77..bce373f 100755 --- a/src/mail/mail_confirmation.py +++ b/src/mail/mail_confirmation.py @@ -253,7 +253,7 @@ def find_confirmation_contacts_mail_list(mail_list, subjects: list = None): return accepted_appointment_list -def read_mails_and_find_confirmation_contacts(all_mails=False, mode: str = 'default', subjects: list = None): +def read_mails_and_find_confirmation_contacts(all_mails=False, mode: str = 'default', subjects: list = [CONFIRMATION_SUBJECT_FR, CONFIRMATION_SUBJECT_EN]): if all_mails: mail_list = MONGO_STORE_MANAGER.get_destination_emails() else: