Auto-sync: 2026-03-05 06:30:01
This commit is contained in:
@@ -218,6 +218,14 @@ def process_message(mail, uid, account, api_key, api_url, gemini_key, line_token
|
||||
"""メッセージを1通処理。戻り値: 'skipped' / 'not_important' / 'notified'"""
|
||||
account_code = account["account_code"]
|
||||
forwarding_map = account.get("forwarding_map", {})
|
||||
recipient_map = {
|
||||
"akira@keinafarm.com": "xserver1",
|
||||
"service@keinafarm.com": "xserver2",
|
||||
"midori@keinafarm.com": "xserver3",
|
||||
"kouseiren@keinafarm.com": "xserver4",
|
||||
"post@keinafarm.com": "xserver5",
|
||||
"sales@keinafarm.com": "xserver6",
|
||||
}
|
||||
|
||||
# メール取得
|
||||
_, data = mail.uid("FETCH", str(uid), "(RFC822)")
|
||||
@@ -246,15 +254,15 @@ def process_message(mail, uid, account, api_key, api_url, gemini_key, line_token
|
||||
|
||||
body_preview = extract_body_preview(msg, max_chars=500)
|
||||
|
||||
# 転送検出: To:ヘッダーのドメインが forwarding_map に存在する場合は account_code を上書き
|
||||
if forwarding_map:
|
||||
to_raw = msg.get("To", "")
|
||||
if to_raw:
|
||||
to_addr = extract_email_address(to_raw)
|
||||
to_domain = to_addr.split("@")[-1] if "@" in to_addr else ""
|
||||
if to_domain in forwarding_map:
|
||||
account_code = forwarding_map[to_domain]
|
||||
print(f" [転送検出] To:{to_addr} → account: {account_code}")
|
||||
# 宛先補正: To:ヘッダーから account_code を補正(転送/重複受信時の誤判定防止)
|
||||
to_raw = msg.get("To", "")
|
||||
if to_raw:
|
||||
to_addr = extract_email_address(to_raw)
|
||||
to_domain = to_addr.split("@")[-1] if "@" in to_addr else ""
|
||||
mapped = forwarding_map.get(to_addr) or forwarding_map.get(to_domain) or recipient_map.get(to_addr)
|
||||
if mapped:
|
||||
account_code = mapped
|
||||
print(f" [宛先補正] To:{to_addr} → account: {account_code}")
|
||||
|
||||
print(f" From: {sender_email_addr}, Subject: {subject[:50]}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user