diff --git a/mail/mail_reader_all_contacts.py b/mail/mail_reader_all_contacts.py index c911acb..32c1eae 100755 --- a/mail/mail_reader_all_contacts.py +++ b/mail/mail_reader_all_contacts.py @@ -49,6 +49,11 @@ def find_from_mail(param): return from_address.strip(" ").strip(">").strip("<") +def extract_email_from_from_address(content: str): + _match = re.search(r'[\w.+-]+@[\w-]+\.[\w.-]+', content) + return _match.group(0) + + class MailReader(): def __init__(self, login, password): self.login = login @@ -171,23 +176,27 @@ class MailReader(): email_message = email.message_from_bytes(message_data[b'RFC822']) from_address = email_message.get('FROM') subject = email_message.get('subject') - # print("{}, {},{}".format(from_address, subject, email_message)) body = "" - if "no-reply@hermes.com" in from_address or "appointment2022@aol.com": + hermes_mail_adress = "no-reply@hermes.com" + if hermes_mail_adress in from_address or "outlook.com" in from_address: for part in email_message.walk(): print(part.get_content_type()) if part.get_content_type() == "text/html": body = body + part.get_payload(decode=True).decode("utf-8") elif part.get_content_type() == "text/plain": body = body + part.get_payload() - if VALIDATION_URL_SUBJECT_fr in subject or VALIDATION_URL_SUBJECT_EN in subject or "Votre=20demande=20de=20rendez-vous" in subject: + if VALIDATION_URL_SUBJECT_fr in subject or VALIDATION_URL_SUBJECT_EN in subject or "Votre=20demande=20de=20rendez-vous" in subject or "Votre demande de rendez-vous" in body: mail = MailPojo(subject=subject, body=body, from_address=from_address) mail.isImapClient = True print("email is {}".format(self.login)) print("body is {}".format(body)) print("subject is {}".format(subject)) if len(mail.to_address) == 0: - mail.to_address = self.login + if "outlook.com" in from_address: + # it is a transferred email + mail.to_address = extract_email_from_from_address(from_address) + else: + mail.to_address = self.login mail_messages.append(mail) except Exception as error: print(error) @@ -279,7 +288,7 @@ if __name__ == '__main__': # file_name="/Users/lpan/Desktop/contact_list_2025-04-05.xlsx") # file_name="/Users/rdv/Desktop/contact_list_not_used_contacts.xlsx") # file_name="/Users/lpan/Desktop/contact_list_not_used_contacts.xlsx") - file_name="/Users/rdv/Desktop/contact_list_2025-06-12.xlsx") + file_name="/Users/lpan/Desktop/contact_list_2025-06-13.xlsx") # file_name="/Users/rdv/Desktop/contact_list_2025-05-24.xlsx") all_mail_list = MONGO_STORE_MANAGER.get_destination_emails() mail_list_to_check = [] @@ -297,5 +306,5 @@ if __name__ == '__main__': _to_add = False if _to_add: filter_mail.append(mail_pojo) - filter_mail.append(MailAddress("wenliuan@aol.com", "vhwpqkhzgbrrhkcg")) + filter_mail.append(MailAddress("saigecong1990@pissmail.com", "cvExXKOP8oY1D@")) find_links_to_validate_from_mail_list(filter_mail, logger)