Browse Source

refactor(check_new_email): 重构邮件通知逻辑

- 移除了 AiYuFeiFei 类的引用
- 新增 to_message函数,用于将邮件信息转换为 PushMessage 对象
- 更新了邮件处理逻辑,使用新的消息格式
- 删除了未使用的测试代码
孔明 1 month ago
parent
commit
7ba04bfa5b
2 changed files with 19 additions and 21 deletions
  1. 19 2
      check_new_email.py
  2. 0 19
      mysql_db.py

+ 19 - 2
check_new_email.py

@@ -2,7 +2,7 @@ import json
 
 from mysql_db import DBManager
 from email_client import EmailClient
-from notice import AiYuFeiFei, from_email, PushFactory
+from notice import PushFactory, PushMessage, MessageType, Email
 
 EMAIL_CONFIG_SQL = '''
             select email_address,    -- 邮件地址
@@ -95,7 +95,7 @@ def check_new_email(email_config: dict):
     try:
         for email in new_emails:
             current_email = email
-            message = from_email(email)
+            message = to_message(email)
             PushFactory.create_push(push_config).send_notification(message)
 
     except Exception as e:
@@ -105,6 +105,23 @@ def check_new_email(email_config: dict):
     if current_email and current_email['uid'] > email_config['last_check_uid']:
         update_last_check_uid(db_manager, email_account, current_email['uid'])
 
+def to_message(email: dict):
+    sender_display = email["sender"].replace(' ', '\n').replace('"', '')
+    recipient_display = email["recipient"].replace(' ', '\n')
+
+    return PushMessage(
+        title="新邮件通知",
+        content=f'您有一封来自[{email["sender_name"] if email["sender_name"] else email["sender_email"]}]的邮件',
+        messageType=MessageType.EMAIL,
+        email=Email(
+            sender=sender_display,
+            recipient=recipient_display,
+            subject=email['subject'],
+            sendTime=email['date'],
+            content=email['content'],
+        )
+    )
+
 
 if __name__ == '__main__':
     db_manager = DBManager()

+ 0 - 19
mysql_db.py

@@ -58,22 +58,3 @@ class DBManager:
                     cursor.close()
             except:
                 pass  # 忽略关闭游标时的异常
-
-
-# db_manager = DBManager()
-# sql = '''
-#             select email_address,    -- 邮件地址
-#                     email_password,         -- 邮件密码
-#                     connection_type,        -- 连接类型
-#                     receive_server_address, -- 接收邮件服务器地址
-#                     receive_server_port,    -- 接收邮件服务器端口号
-#                     iyuu_token,             -- 爱语飞飞token
-#                     last_check_uid          -- 上次检查的UID
-#                 from check_email_config;
-#             '''
-#
-# with db_manager.managed_cursor() as cursor:
-#     cursor.execute(sql)
-#     result = cursor.fetchall()
-#     for row in result:
-#         print(row)