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:
1 parent
7acc0c5451
commit
e45b68bb8b
1089 files changed
+260614
No files matched your search
Executable
+82
@@ -0,0 +1,82 @@
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC[wght].ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-Regular.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-Bold.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-Italic.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-BoldItalic.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-Light.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-LightItalic.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-ExtraLight.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-ExtraLightItalic.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-SemiBold.ttf
|
||||
/usr/share/fonts/truetype/chinese/SarasaMonoSC-SemiBoldItalic.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC[wght].ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-Thin.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-ExtraLight.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-Light.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-Regular.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-Medium.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-SemiBold.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-Bold.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-ExtraBold.ttf
|
||||
/usr/share/fonts/truetype/chinese/NotoSansSC-Black.ttf
|
||||
/usr/share/fonts/truetype/chinese/LiberationSans-Regular.ttf
|
||||
/usr/share/fonts/truetype/chinese/LiberationMono-Regular.ttf
|
||||
/usr/share/fonts/truetype/chinese/LiberationSerif-Regular.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-VariableFont_wght.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-VariableFont_wght.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-ExtraLight.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-Light.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-Regular.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-Medium.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-SemiBold.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-Bold.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-ExtraBold.ttf
|
||||
/usr/share/fonts/truetype/noto-serif-sc/NotoSerifSC-Black.ttf
|
||||
/usr/share/fonts/truetype/lxgw-wenkai/LXGWWenKai-Regular.ttf
|
||||
/usr/share/fonts/truetype/lxgw-wenkai/LXGWWenKai-Medium.ttf
|
||||
/usr/share/fonts/truetype/lxgw-wenkai/LXGWWenKai-Light.ttf
|
||||
/usr/share/fonts/truetype/lxgw-wenkai/LXGWWenKaiMono-Regular.ttf
|
||||
/usr/share/fonts/truetype/lxgw-wenkai/LXGWWenKaiMono-Medium.ttf
|
||||
/usr/share/fonts/truetype/lxgw-wenkai/LXGWWenKaiMono-Light.ttf
|
||||
/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Oblique.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-BoldOblique.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf
|
||||
/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSans-BoldItalic.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSerif-Regular.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSerif-Bold.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSerif-Italic.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationSerif-BoldItalic.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationMono-Italic.ttf
|
||||
/usr/share/fonts/truetype/liberation/LiberationMono-BoldItalic.ttf
|
||||
/usr/share/fonts/truetype/english/Tinos-Regular.ttf
|
||||
/usr/share/fonts/truetype/english/Tinos-Bold.ttf
|
||||
/usr/share/fonts/truetype/english/Tinos-Italic.ttf
|
||||
/usr/share/fonts/truetype/english/Tinos-BoldItalic.ttf
|
||||
/usr/share/fonts/truetype/english/Carlito-Regular.ttf
|
||||
/usr/share/fonts/truetype/english/Carlito-Bold.ttf
|
||||
/usr/share/fonts/truetype/english/Carlito-Italic.ttf
|
||||
/usr/share/fonts/truetype/english/Carlito-BoldItalic.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSans.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSansBold.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSansOblique.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSansBoldOblique.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSerif.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeSerifBoldItalic.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeMono.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeMonoOblique.ttf
|
||||
/usr/share/fonts/truetype/freefont/FreeMonoBoldOblique.ttf
|
||||
/usr/share/fonts/truetype/libreoffice/opens___.ttf
|
||||
Reference in new issue
Block a user