feat: 收件人/发件人改用邮件原始头数据
- sender 从 decode 改为使用原始 From 头 - 新增 recipient 字段,使用原始 To 头 - 移除 ai_process 中对 acct.username 的依赖
This commit is contained in:
@@ -11,10 +11,11 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Email:
|
||||
def __init__(self, uid: bytes, subject: str, sender: str, body: str, date: str):
|
||||
def __init__(self, uid: bytes, subject: str, sender: str, recipient: str, body: str, date: str):
|
||||
self.uid = uid
|
||||
self.subject = subject
|
||||
self.sender = sender
|
||||
self.recipient = recipient
|
||||
self.body = body
|
||||
self.date = date
|
||||
|
||||
@@ -102,13 +103,14 @@ def fetch_unseen_emails(account: EmailAccount) -> list[Email]:
|
||||
msg = email.message_from_bytes(raw_email)
|
||||
|
||||
subject = _decode_str(msg.get("Subject", ""))
|
||||
sender = _decode_str(msg.get("From", ""))
|
||||
sender = msg.get("From", "")
|
||||
recipient = msg.get("To", "")
|
||||
date_str = msg.get("Date", "")
|
||||
body = _get_text_from_msg(msg)
|
||||
body_len = len(body)
|
||||
|
||||
logger.info(" 邮件: [%s] %s <%s> (%d 字符)", subject, sender, date_str, body_len)
|
||||
emails.append(Email(uid=uid, subject=subject, sender=sender, body=body, date=date_str))
|
||||
logger.info(" 邮件: [%s] from=%s to=%s (%d 字符)", subject, sender, recipient, body_len)
|
||||
emails.append(Email(uid=uid, subject=subject, sender=sender, recipient=recipient, body=body, date=date_str))
|
||||
|
||||
conn.logout()
|
||||
logger.info("共获取 %d 封新邮件", len(emails))
|
||||
|
||||
Reference in New Issue
Block a user