From 2bcb20d2c979e0b14d036970877426d5f2b9d24e Mon Sep 17 00:00:00 2001 From: Lei PAN Date: Sun, 23 Oct 2022 13:00:38 +0200 Subject: [PATCH] send message with email --- src/db/mongo_manager.py | 9 +++++++++ src/mail/mail_confirmation.py | 7 +++++-- src/notification/AcceptedResultPojo.py | 5 +++-- src/notification/mailer.py | 1 - src/templates/appointment_results.html | 12 ++++++------ 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/db/mongo_manager.py b/src/db/mongo_manager.py index fcd272c..a42d3a3 100644 --- a/src/db/mongo_manager.py +++ b/src/db/mongo_manager.py @@ -125,6 +125,15 @@ class MongoDbManager: result_list.append(ReserveResultPojo.from_firestore_dict(document)) return result_list + def get_all_successful_items_for_yesterday(self) -> list: + yesterday = datetime.date.today() - datetime.timedelta(days=1) + collection_name = str(yesterday) + result_list = [] + cursor = self.db[collection_name] + for document in cursor.find(): + result_list.append(ReserveResultPojo.from_firestore_dict(document)) + return result_list + def get_all_successful_items_for_one_day(self, day_in_str: str) -> list: params.oracle_log_sender.send_read_db_event("get_all_successful_items_for_one_day") collection_name = day_in_str diff --git a/src/mail/mail_confirmation.py b/src/mail/mail_confirmation.py index db72766..915bdbe 100644 --- a/src/mail/mail_confirmation.py +++ b/src/mail/mail_confirmation.py @@ -12,7 +12,7 @@ from src.db.mongo_manager import MONGO_STORE_MANAGER from src.notification.AcceptedResultPojo import get_accepted_result_from from src.notification.mailer import Mailer from src.pojo.ResultEnum import ResultEnum -from src.pojo.mail.mail_pojo import MailPojo +from src.pojo.mail.mail_pojo import MailPojo, MailAddress AOL_IMAP_SERVER = "imap.aol.com" IMAP_SERVER_163 = "imap.163.com" @@ -125,7 +125,7 @@ def accept_appointment_found(accepted_result_list: list): def read_mails_and_find_confirmation_contacts(): mail_list = MONGO_STORE_MANAGER.get_destination_emails() - # # mail_address1 = MailAddress(mail="appointment2022@aol.com", password="gyilpmvyyvlcaviq") + # mail_address3 = MailAddress(mail="ciyuexie@aol.com", password="czezlmmyypokdfce") # mail_list = [mail_address3] mails_messages = [] # read all the emails @@ -136,12 +136,15 @@ def read_mails_and_find_confirmation_contacts(): accepted_appointment_list = [] if len(mails_messages) > 0: successful_items = MONGO_STORE_MANAGER.get_all_successful_items_for_day() + successful_items.extend(MONGO_STORE_MANAGER.get_all_successful_items_for_yesterday()) for mail in mails_messages: message_body = mail.body for item in successful_items: if item.id in message_body and item.id != "welcome": + item.message = message_body accepted_appointment_list.append(item) elif "10:30" in message_body and (item.email == mail.mail_address or item.email in message_body): + item.message = message_body accepted_appointment_list.append(item) print(mail.mail_address) print(mail.subject) diff --git a/src/notification/AcceptedResultPojo.py b/src/notification/AcceptedResultPojo.py index 839268f..28a6400 100644 --- a/src/notification/AcceptedResultPojo.py +++ b/src/notification/AcceptedResultPojo.py @@ -11,7 +11,7 @@ class AcceptedResultPojo: def __init__(self, msg: str, slot_position, sim_position, passport, email, name, phone, ccid: str, url, created_at: str, validated_at: str): - self.sms_msg = msg + self.message = msg self.slot_position = slot_position self.sim_position = sim_position self.passport = "{}".format(passport) @@ -32,7 +32,8 @@ def get_accepted_result_from(sim_info: ReserveResultPojo) -> AcceptedResultPojo: name="", ccid="", url="", created_at="", validated_at="") else: - return AcceptedResultPojo("", slot_position=sim_info.slot_position, sim_position=sim_info.sim_position, + return AcceptedResultPojo(sim_info.message, slot_position=sim_info.slot_position, + sim_position=sim_info.sim_position, passport=sim_info.passport, email=sim_info.email, phone=sim_info.phone, name="{} {}".format(sim_info.lastName, sim_info.firstName), ccid=sim_info.ccid, url=sim_info.url, created_at=sim_info.created_at, validated_at=sim_info.validated_at) diff --git a/src/notification/mailer.py b/src/notification/mailer.py index 668ae9d..40ef72b 100644 --- a/src/notification/mailer.py +++ b/src/notification/mailer.py @@ -27,7 +27,6 @@ class Mailer: def send_email(self, result: AcceptedResultPojo, to_all: bool = False): if to_all: - # recipients = ['panleicim@gmail.com', 'kamenonly@gmail.com', 'tangliang0411@gmail.com'] recipients = ['panleicim@gmail.com', 'tangliang0411@gmail.com'] else: recipients = ['panleicim@gmail.com'] diff --git a/src/templates/appointment_results.html b/src/templates/appointment_results.html index 7faa8a7..a190e2e 100644 --- a/src/templates/appointment_results.html +++ b/src/templates/appointment_results.html @@ -6,10 +6,10 @@

护照: ${result.passport}
-
SIM卡位置: 卡池第${result.slot_position}行,第${result.sim_position}列 -
-
短信内容: ${result.sms_msg} -
-
SIM卡CCID: ${result.ccid} -

约会url: ${result.url} +
+
+
邮件: ${result.message} + + +