Files
ai-mail-bot/tests
earthjasonlin f65e67c2f2 fix(unsub): List-Unsubscribe 头兜底 + mailto 退订按钮放行
两封推广邮件无退订按钮,两个独立根因:
1. Cloudflare 邮件 (msg_id=1364):程序只喂纯文本给 AI,纯文本里
   'Unsubscribe' 无 URL;邮件头 List-Unsubscribe 的权威退订链接被丢弃。
   -> 解析 List-Unsubscribe 头 (RFC 2369) 存入 Email.list_unsubscribe,
      注入 AI 提示词;显示层新增 _ensure_unsub_link 兜底:AI 漏提取时
      直接用头部 http(s)/mailto 链接补退订按钮(不依赖 AI)。
2. InferX 邮件 (msg_id=1363):AI 提取到 mailto:team@inferx.net?subject=Unsubscribe,
   但 _link_buttons 只放行 http 协议把它过滤掉。
   -> URL 校验放行 mailto:(退订场景常见)。

send_summary / tg_send_and_mark 均应用兜底并写回 summary_data.links,
回调恢复视图也能显示退订按钮。新增 6 个测试,共 14 个全部通过。
2026-09-04 08:03:45 +08:00
..