feat: IMAP mail sync with thread-to-contact matching (PRD §6.1)

Real IMAP connection via imapflow library:
- Connects to IMAP server (IMAPFlow, TLS on port 993)
- Fetches recent messages (configurable limit, default 20)
- Extracts: from, fromEmail, subject, date, snippet (200 chars)
- Thread-to-contact matching (PRD §6.1):
  1. Match sender email against persons table
  2. If no person match, extract domain and match against company.website
  3. Returns matchedCompany + matchedPerson for each email
- Audit-logged (action: crm.mailsync:imap)
- Zod validated (host, port, user, password, folder, limit)
- 502 on IMAP connection failure with detail
- 400 on validation failure

Tested: invalid creds → 502 'IMAP connection failed', missing host → 400
This commit is contained in:
Z User committed 2026-10-27 22:50:50 +00:00
1 parent 7acc0c5451
commit e45b68bb8b
1089 files changed
+260614

No files matched your search

@@ -0,0 +1,74 @@
# 岗位画像(Target Profile)模板
填写时把所有 `<占位>` 都换成具体内容。空着不填等于没画像。
---
## 一、岗位基本信息
- **岗位名称**:<如:高级产品经理 - 用户增长方向>
- **方向定位**:<如:B 端 SaaS / C 端工具 / 内容平台 / Fintech>
- **职级范围**:<如:P6-P7 / 中级-高级 / Senior IC>
- **目标城市**:<北京 / 上海 / 深圳 / 杭州 / Remote / 海外>
- **薪资带(市场参考)**:<__k × __ 月,仅供参考,建议核实职级和城市差异>
---
## 二、典型职责描述(JD 共性)
罗列 3~5 条该岗位常见的职责动词 + 对象:
- <如:负责 ___ 业务线的产品规划与迭代>
- <如:通过数据分析定位用户流失环节并设计实验>
- <如:跨部门协作,推动 ___ 项目落地>
---
## 三、技能要求
### Must-have(缺一票否决)
- <硬技能 1,如:5+ 年 C 端产品经验>
- <硬技能 2,如:熟练使用 SQL,能独立完成数据分析>
- <硬技能 3,如:有从 0 到 1 的产品案例>
### Nice-to-have(加分项)
- <如:有海外市场或跨境业务经验>
- <如:懂基础前端,能跟开发深度沟通>
- <如:有大厂背景或被收购初创经验>
### 软技能信号(HR / 终面会 probe)
- <如:跨部门协调能力>
- <如:业务 sense / 商业化 sense>
- <如:用户同理心>
---
## 四、面试流程预期
按公司 tier 分层估算,给用户一个心理预期:
| 公司类型 | 流程长度 | 典型环节 |
|---------|---------|----------|
| 大厂 / Tier 1 | 4~6 周 | 简历 → 笔试 → 1 面(专业)→ 2 面(深度)→ 3 面(leader)→ HR 面 → Offer |
| 中厂 / Tier 2 | 2~4 周 | 简历 → 1 面 → 2 面 → HR → Offer |
| 创业 / Tier 3 | 1~2 周 | 简历 → 1~2 面(含创始人)→ Offer |
填写实际预期:<具体到该方向的常见流程>
---
## 五、对标公司清单
按 tier 分层列 3~5 家:
- **Tier 1(梦想 offer,匹配度需达 80%+)**:<公司 1>、<公司 2>、<公司 3>
- **Tier 2(合理选择,匹配度 60%+)**:<公司 1>、<公司 2>、<公司 3>
- **Tier 3(保底 / 练手,匹配度 40%+)**:<公司 1>、<公司 2>、<公司 3>
---
## 六、求职策略提示
- **简历重点**:突出 ___ 经验,弱化 ___
- **作品集 / case**:建议准备 ___(如:一个完整的产品分析报告 / 一份 SQL 项目)
- **网络渠道**:优先走 ___(内推 / 猎头 / 官网 / 拉勾 / 脉脉),少用 ___
- **时间预算**:从准备到拿 offer,建议留 <8~12 周> 缓冲