react-native-email-imap-smtp 0.3.28 → 0.3.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -277,6 +277,45 @@ class EmailImapSmtp : HybridEmailImapSmtpSpec() {
277
277
  )
278
278
  }
279
279
 
280
+ /**
281
+ * 与 Web 端(imapflow bodyStructure walk)对齐的附件叶子判定:
282
+ * disposition=attachment / 有 filename / 非 text 类型 → 视为附件。
283
+ * 内嵌 CID 资源走 onEmbedded;其余(含内嵌无 CID)走 onAttachment。
284
+ */
285
+ private fun handleAttachmentLeaf(
286
+ part: Part,
287
+ onEmbedded: (String) -> Unit,
288
+ onAttachment: (AttachmentInfo) -> Unit,
289
+ ) {
290
+ val disp = part.disposition ?: ""
291
+ val isAttachment = disp.equals(Part.ATTACHMENT, ignoreCase = true)
292
+ val isInline = disp.equals(Part.INLINE, ignoreCase = true)
293
+ val contentId = (part as? MimeBodyPart)?.contentID
294
+ val fileName = part.fileName ?: contentId ?: "unnamed"
295
+ // 非 text 类型(无 disposition/无 contentId)也应作为附件,与 Web 端对齐
296
+ val primary = part.contentType?.substringBefore('/')?.trim()?.lowercase() ?: ""
297
+ val isNonText = primary.isNotEmpty() && primary != "text" && primary != "multipart"
298
+ if (isAttachment || isInline || contentId != null || isNonText) {
299
+ val info = readAttachmentData(part as BodyPart, fileName, contentId, isInline, disp)
300
+ if (isInline && contentId != null) {
301
+ onEmbedded(fileName)
302
+ }
303
+ if (isAttachment || (isInline && contentId == null) || (isNonText && !isInline)) {
304
+ onAttachment(info)
305
+ }
306
+ }
307
+ }
308
+
309
+ /** 判断是否为「附件样」叶子(有 attachment/inline disposition、filename 或 contentId)。
310
+ * 用于 text 类型正文分支先判定附件、再当作正文(与 Web 端 imapflow walk 对齐)。 */
311
+ private fun isAttachmentLike(part: Part): Boolean {
312
+ val disp = part.disposition ?: ""
313
+ if (disp.equals(Part.ATTACHMENT, ignoreCase = true) || disp.equals(Part.INLINE, ignoreCase = true)) return true
314
+ if (part.fileName != null) return true
315
+ if ((part as? MimeBodyPart)?.contentID != null) return true
316
+ return false
317
+ }
318
+
280
319
  private fun parseBodyParts(
281
320
  part: Part,
282
321
  onText: (String) -> Unit,
@@ -285,19 +324,35 @@ class EmailImapSmtp : HybridEmailImapSmtpSpec() {
285
324
  onAttachment: (AttachmentInfo) -> Unit,
286
325
  ) {
287
326
  if (part.isMimeType("text/plain")) {
288
- onText(part.content?.toString() ?: "")
327
+ // text/plain 也可能是附件(带 attachment disposition / filename / name):
328
+ // 先判定附件,再当作正文。与 Web 端一致(1.txt/2.txt 等 text/plain 附件)。
329
+ if (isAttachmentLike(part)) {
330
+ handleAttachmentLeaf(part, onEmbedded, onAttachment)
331
+ } else {
332
+ onText(part.content?.toString() ?: "")
333
+ }
289
334
  } else if (part.isMimeType("text/html")) {
290
- onHtml(part.content?.toString() ?: "")
335
+ if (isAttachmentLike(part)) {
336
+ handleAttachmentLeaf(part, onEmbedded, onAttachment)
337
+ } else {
338
+ onHtml(part.content?.toString() ?: "")
339
+ }
291
340
  } else if (part.isMimeType("multipart/alternative")) {
292
341
  val mp = part.content as? Multipart ?: return
293
342
  var foundHtml = false
294
343
  var foundText = false
295
344
  for (i in 0 until mp.count) {
296
345
  val bp = mp.getBodyPart(i)
297
- if (bp.isMimeType("text/html") && !foundHtml) {
346
+ if (bp.isMimeType("text/html") && !foundHtml && !isAttachmentLike(bp)) {
298
347
  onHtml(bp.content?.toString() ?: ""); foundHtml = true
299
- } else if (bp.isMimeType("text/plain") && !foundText) {
348
+ } else if (bp.isMimeType("text/plain") && !foundText && !isAttachmentLike(bp)) {
300
349
  onText(bp.content?.toString() ?: ""); foundText = true
350
+ } else if (bp.isMimeType("multipart/*")) {
351
+ // alternative 内嵌套的子 multipart(related/mixed 等)→ 递归,不遗漏附件
352
+ parseBodyParts(bp, onText, onHtml, onEmbedded, onAttachment)
353
+ } else {
354
+ // alternative 内的非正文叶子(内嵌图/附件)→ 附件判定
355
+ handleAttachmentLeaf(bp, onEmbedded, onAttachment)
301
356
  }
302
357
  }
303
358
  } else if (part.isMimeType("multipart/*")) {
@@ -306,21 +361,7 @@ class EmailImapSmtp : HybridEmailImapSmtpSpec() {
306
361
  parseBodyParts(mp.getBodyPart(i), onText, onHtml, onEmbedded, onAttachment)
307
362
  }
308
363
  } else {
309
- val disp = part.disposition ?: ""
310
- val isAttachment = disp.equals(Part.ATTACHMENT, ignoreCase = true)
311
- val isInline = disp.equals(Part.INLINE, ignoreCase = true)
312
- val contentId = (part as? MimeBodyPart)?.contentID
313
- val fileName = part.fileName ?: contentId ?: "unnamed"
314
-
315
- if (isAttachment || isInline || contentId != null) {
316
- val info = readAttachmentData(part as BodyPart, fileName, contentId, isInline, disp)
317
- if (isInline && contentId != null) {
318
- onEmbedded(fileName)
319
- }
320
- if (isAttachment || (isInline && contentId == null)) {
321
- onAttachment(info)
322
- }
323
- }
364
+ handleAttachmentLeaf(part, onEmbedded, onAttachment)
324
365
  }
325
366
  }
326
367
 
@@ -1131,45 +1172,42 @@ class EmailImapSmtp : HybridEmailImapSmtpSpec() {
1131
1172
 
1132
1173
  @Suppress("UNCHECKED_CAST")
1133
1174
  private fun findAttachmentByPartId(msg: Message, partId: String): AttachmentInfo? {
1134
- val content = msg.content
1135
- if (content is Multipart) {
1136
- for (i in 0 until content.count) {
1137
- val part = content.getBodyPart(i)
1138
- val disp = part.disposition ?: Part.ATTACHMENT
1139
- if (disp.equals(Part.ATTACHMENT, ignoreCase = true) || disp.equals(Part.INLINE, ignoreCase = true)) {
1140
- val fileName = part.fileName ?: "attachment_$i"
1141
- if (fileName == partId || i.toString() == partId) {
1142
- return readAttachmentData(part, fileName, (part as? MimeBodyPart)?.contentID,
1143
- disp.equals(Part.INLINE, ignoreCase = true), disp)
1144
- }
1145
- }
1146
- if (part.content is Multipart) {
1147
- @Suppress("UNCHECKED_CAST")
1148
- return findAttachmentByPartId(part as Message, partId)
1149
- }
1150
- }
1151
- }
1152
- return null
1175
+ // collectAttachments 同一套附件判定,按 partId(或文件名)匹配
1176
+ val all = mutableListOf<AttachmentInfo>()
1177
+ collectAttachments(msg, all)
1178
+ return all.firstOrNull { it.partId == partId || it.filename == partId }
1153
1179
  }
1154
1180
 
1155
1181
  @Suppress("UNCHECKED_CAST")
1156
1182
  private fun collectAttachments(msg: Message, result: MutableList<AttachmentInfo>) {
1157
- val content = msg.content
1158
- if (content is Multipart) {
1159
- for (i in 0 until content.count) {
1160
- val part = content.getBodyPart(i)
1161
- val disp = part.disposition ?: Part.ATTACHMENT
1162
- if (disp.equals(Part.ATTACHMENT, ignoreCase = true) || disp.equals(Part.INLINE, ignoreCase = true)) {
1163
- result.add(readAttachmentData(part, part.fileName ?: "attachment_$i",
1164
- (part as? MimeBodyPart)?.contentID,
1165
- disp.equals(Part.INLINE, ignoreCase = true), disp))
1166
- }
1167
- if (part.content is Multipart) {
1168
- @Suppress("UNCHECKED_CAST")
1169
- collectAttachments(part as Message, result)
1183
+ // Web 端(imapflow bodyStructure walk)完全一致的附件收集:
1184
+ // 递归所有 multipart 子节点到叶子,只收「附件叶子」,跳过纯文本正文
1185
+ // (text/plain、text/html 且无 attachment disposition/filename)。
1186
+ // 不做任何正文提取——正文由 note_profile.json 决定。
1187
+ fun walk(part: Part) {
1188
+ val content = part.content
1189
+ if (content is Multipart) {
1190
+ for (i in 0 until content.count) {
1191
+ walk(content.getBodyPart(i))
1170
1192
  }
1193
+ return
1194
+ }
1195
+ // 叶子:与 Web 端 `isAttachment || primary !== 'text'` 等价
1196
+ val disp = part.disposition ?: ""
1197
+ val isAtt = disp.equals(Part.ATTACHMENT, ignoreCase = true)
1198
+ val hasName = part.fileName != null
1199
+ val primary = part.contentType?.substringBefore('/')?.trim()?.lowercase() ?: ""
1200
+ val isTextLeaf = primary == "text" && !isAtt && !hasName
1201
+ if (!isTextLeaf) {
1202
+ val contentId = (part as? MimeBodyPart)?.contentID
1203
+ val fileName = part.fileName ?: contentId ?: "unnamed"
1204
+ result.add(
1205
+ readAttachmentData(part as BodyPart, fileName, contentId,
1206
+ disp.equals(Part.INLINE, ignoreCase = true), disp)
1207
+ )
1171
1208
  }
1172
1209
  }
1210
+ walk(msg)
1173
1211
  }
1174
1212
 
1175
1213
  // ═══ IMAP — IDLE ═══════════════════════════════════════════
@@ -12,6 +12,14 @@
12
12
  const {
13
13
  Platform
14
14
  } = require('react-native');
15
+ const {
16
+ logAttachmentWarnings,
17
+ logWarning,
18
+ logInfo,
19
+ logError,
20
+ setLogHandler,
21
+ getLogHandler
22
+ } = require('./log');
15
23
 
16
24
  // ─── Platform-aware module resolution ──────────────────────
17
25
 
@@ -51,8 +59,18 @@ module.exports = {
51
59
  imapCopyEmails: impl.imapCopyEmails,
52
60
  imapDeleteEmails: impl.imapDeleteEmails,
53
61
  imapExpunge: impl.imapExpunge,
54
- imapFetchAttachments: impl.imapFetchAttachments,
55
- imapFetchAllAttachments: impl.imapFetchAllAttachments,
62
+ imapFetchAttachments: async (uid, partId) => {
63
+ const att = await impl.imapFetchAttachments(uid, partId);
64
+ if (att?.integrityWarning) {
65
+ logWarning(`附件完整性告警: ${att.filename} — ${att.integrityWarning}`);
66
+ }
67
+ return att;
68
+ },
69
+ imapFetchAllAttachments: async uid => {
70
+ const atts = await impl.imapFetchAllAttachments(uid);
71
+ logAttachmentWarnings(atts);
72
+ return atts;
73
+ },
56
74
  imapIdle: impl.imapIdle,
57
75
  imapStopIdle: impl.imapStopIdle,
58
76
  imapGetQuota: impl.imapGetQuota,
@@ -76,6 +94,20 @@ module.exports = {
76
94
  * SMTP 连接错误类,可用于 `instanceof` 检查。
77
95
  * Web 平台始终可用,原生平台暂未实现。
78
96
  */
79
- SmtpNotConnectedError: impl.SmtpNotConnectedError
97
+ SmtpNotConnectedError: impl.SmtpNotConnectedError,
98
+ // ─── 公共日志工具(所有平台可用) ─────────────────────────
99
+
100
+ /** 打印普通提示 */
101
+ logInfo,
102
+ /** 打印告警(Web 端=控制台 warn,原生端=调试输出) */
103
+ logWarning,
104
+ /** 打印错误 */
105
+ logError,
106
+ /** 批量打印一批附件的完整性告警 */
107
+ logAttachmentWarnings,
108
+ /** 自定义日志处理器(传 null 恢复默认 console 输出) */
109
+ setLogHandler,
110
+ /** 获取当前日志处理器 */
111
+ getLogHandler
80
112
  };
81
113
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","require","impl","OS","Error","module","exports","imapConnect","imapDisconnect","imapListMailboxes","imapSelectMailbox","imapRefreshMailbox","imapFetchFolders","imapCreateFolder","imapDeleteFolder","imapRenameFolder","imapSubscribeFolder","imapUnsubscribeFolder","imapFetchEmails","imapFetchEmailByUID","imapSearchEmails","imapMarkAsRead","imapMarkAsFlagged","imapMoveEmails","imapCopyEmails","imapDeleteEmails","imapExpunge","imapFetchAttachments","imapFetchAllAttachments","imapIdle","imapStopIdle","imapGetQuota","imapAppendMessage","smtpConnect","smtpDisconnect","smtpSendMail","smtpVerifyConnection","setProxyUrl","getProxyUrl","ImapNotConnectedError","SmtpNotConnectedError"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM;EAAEA;AAAS,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC;;AAE5C;;AAEA,IAAIC,IAAS;AAEb,IAAIF,QAAQ,CAACG,EAAE,KAAK,SAAS,EAAE;EAC7B;EACAD,IAAI,GAAGD,OAAO,CAAC,UAAU,CAAC;AAC5B,CAAC,MAAM,IAAID,QAAQ,CAACG,EAAE,KAAK,SAAS,EAAE;EACpC;EACAD,IAAI,GAAGD,OAAO,CAAC,WAAW,CAAC;AAC7B,CAAC,MAAM,IAAID,QAAQ,CAACG,EAAE,KAAK,KAAK,EAAE;EAChC,MAAM,IAAIC,KAAK,CACb,sDAAsD,GACpD,mDACJ,CAAC;AACH,CAAC,MAAM;EACL;EACAF,IAAI,GAAGD,OAAO,CAAC,OAAO,CAAC;AACzB;AAEAI,MAAM,CAACC,OAAO,GAAG;EACf;;EAEAC,WAAW,EAAEL,IAAI,CAACK,WAEkC;EACpDC,cAAc,EAAEN,IAAI,CAACM,cAAqC;EAC1DC,iBAAiB,EAAEP,IAAI,CAACO,iBAEvB;EACDC,iBAAiB,EAAER,IAAI,CAACQ,iBAGqB;EAC7CC,kBAAkB,EAAET,IAAI,CAACS,kBAExB;EACDC,gBAAgB,EAAEV,IAAI,CAACU,gBAEtB;EACDC,gBAAgB,EAAEX,IAAI,CAACW,gBAEL;EAClBC,gBAAgB,EAAEZ,IAAI,CAACY,gBAEL;EAClBC,gBAAgB,EAAEb,IAAI,CAACa,gBAGL;EAClBC,mBAAmB,EAAEd,IAAI,CAACc,mBAER;EAClBC,qBAAqB,EAAEf,IAAI,CAACe,qBAEV;EAClBC,eAAe,EAAEhB,IAAI,CAACgB,eAEiB;EACvCC,mBAAmB,EAAEjB,IAAI,CAACiB,mBAEkB;EAC5CC,gBAAgB,EAAElB,IAAI,CAACkB,gBAEgB;EACvCC,cAAc,EAAEnB,IAAI,CAACmB,cAGH;EAClBC,iBAAiB,EAAEpB,IAAI,CAACoB,iBAGN;EAClBC,cAAc,EAAErB,IAAI,CAACqB,cAGH;EAClBC,cAAc,EAAEtB,IAAI,CAACsB,cAGH;EAClBC,gBAAgB,EAAEvB,IAAI,CAACuB,gBAEoB;EAC3CC,WAAW,EAAExB,IAAI,CAACwB,WAAkC;EACpDC,oBAAoB,EAAEzB,IAAI,CAACyB,oBAGsB;EACjDC,uBAAuB,EAAE1B,IAAI,CAAC0B,uBAEc;EAC5CC,QAAQ,EAAE3B,IAAI,CAAC2B,QAEG;EAClBC,YAAY,EAAE5B,IAAI,CAAC4B,YAAmC;EACtDC,YAAY,EAAE7B,IAAI,CAAC6B,YAEsB;EACzCC,iBAAiB,EAAE9B,IAAI,CAAC8B,iBAIoB;EAE5C;;EAEAC,WAAW,EAAE/B,IAAI,CAAC+B,WAEkC;EACpDC,cAAc,EAAEhC,IAAI,CAACgC,cAAqC;EAC1DC,YAAY,EAAEjC,IAAI,CAACiC,YAE2B;EAC9CC,oBAAoB,EAAElC,IAAI,CAACkC,oBAA8C;EAEzE;;EAEAC,WAAW,EAAEnC,IAAI,CAACmC,WAAkD;EACpEC,WAAW,EAAEpC,IAAI,CAACoC,WAAyC;EAE3D;AACF;AACA;AACA;EACEC,qBAAqB,EAAErC,IAAI,CAACqC,qBACG;EAE/B;AACF;AACA;AACA;EACEC,qBAAqB,EAAEtC,IAAI,CAACsC;AAE9B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","require","logAttachmentWarnings","logWarning","logInfo","logError","setLogHandler","getLogHandler","impl","OS","Error","module","exports","imapConnect","imapDisconnect","imapListMailboxes","imapSelectMailbox","imapRefreshMailbox","imapFetchFolders","imapCreateFolder","imapDeleteFolder","imapRenameFolder","imapSubscribeFolder","imapUnsubscribeFolder","imapFetchEmails","imapFetchEmailByUID","imapSearchEmails","imapMarkAsRead","imapMarkAsFlagged","imapMoveEmails","imapCopyEmails","imapDeleteEmails","imapExpunge","imapFetchAttachments","uid","partId","att","integrityWarning","filename","imapFetchAllAttachments","atts","imapIdle","imapStopIdle","imapGetQuota","imapAppendMessage","smtpConnect","smtpDisconnect","smtpSendMail","smtpVerifyConnection","setProxyUrl","getProxyUrl","ImapNotConnectedError","SmtpNotConnectedError"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ // ============================================================
4
+ // 公共日志工具
5
+ // ============================================================
6
+ //
7
+ // 统一所有需要向「使用方应用」输出提示/告警/错误的打印入口。
8
+ // 默认使用 console.*(RN 的 console 会自动桥接到原生调试输出:
9
+ // Android Logcat / iOS Xcode console / Windows Debug 输出)。
10
+ //
11
+ // 使用方可通过 setLogHandler() 自定义打印目标(例如接入自己的
12
+ // 日志系统、把 warn 转发到业务 UI 等)。
13
+ //
14
+ // 用法:
15
+ // import { logWarning } from 'react-native-email-imap-smtp';
16
+ // logWarning('附件大小异常', detail);
17
+ // ============================================================
18
+
19
+ /** 自定义日志处理函数签名 */
20
+
21
+ /** 默认处理器:走 console,RN 会自动桥接到原生调试输出 */
22
+ const defaultHandler = (level, message, data) => {
23
+ const prefix = '[email-imap-smtp]';
24
+ switch (level) {
25
+ case 'warn':
26
+ console.warn(prefix, message, data !== undefined ? data : '');
27
+ break;
28
+ case 'error':
29
+ console.error(prefix, message, data !== undefined ? data : '');
30
+ break;
31
+ default:
32
+ console.log(prefix, message, data !== undefined ? data : '');
33
+ }
34
+ };
35
+ let handler = defaultHandler;
36
+
37
+ /**
38
+ * 自定义日志处理器。
39
+ * 传 `null` 或省略可恢复默认的 console 输出。
40
+ */
41
+ export function setLogHandler(next) {
42
+ handler = next || defaultHandler;
43
+ }
44
+
45
+ /** 获取当前日志处理器(默认是 console 版) */
46
+ export function getLogHandler() {
47
+ return handler;
48
+ }
49
+
50
+ /** 打印普通提示 */
51
+ export function logInfo(message, data) {
52
+ handler('info', message, data);
53
+ }
54
+
55
+ /** 打印告警(Web 端=控制台 warn,原生端=调试输出) */
56
+ export function logWarning(message, data) {
57
+ handler('warn', message, data);
58
+ }
59
+
60
+ /** 打印错误 */
61
+ export function logError(message, data) {
62
+ handler('error', message, data);
63
+ }
64
+
65
+ /** 便捷方法:批量打印一批附件的完整性告警 */
66
+ export function logAttachmentWarnings(attachments) {
67
+ if (!attachments || !attachments.length) return;
68
+ for (const att of attachments) {
69
+ if (att.integrityWarning) {
70
+ logWarning(`附件完整性告警: ${att.filename ?? ''} — ${att.integrityWarning}`);
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultHandler","level","message","data","prefix","console","warn","undefined","error","log","handler","setLogHandler","next","getLogHandler","logInfo","logWarning","logError","logAttachmentWarnings","attachments","length","att","integrityWarning","filename"],"sourceRoot":"..\\..\\src","sources":["log.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAOA;AACA,MAAMA,cAA0B,GAAGA,CAACC,KAAK,EAAEC,OAAO,EAAEC,IAAI,KAAK;EAC3D,MAAMC,MAAM,GAAG,mBAAmB;EAClC,QAAQH,KAAK;IACX,KAAK,MAAM;MACTI,OAAO,CAACC,IAAI,CAACF,MAAM,EAAEF,OAAO,EAAEC,IAAI,KAAKI,SAAS,GAAGJ,IAAI,GAAG,EAAE,CAAC;MAC7D;IACF,KAAK,OAAO;MACVE,OAAO,CAACG,KAAK,CAACJ,MAAM,EAAEF,OAAO,EAAEC,IAAI,KAAKI,SAAS,GAAGJ,IAAI,GAAG,EAAE,CAAC;MAC9D;IACF;MACEE,OAAO,CAACI,GAAG,CAACL,MAAM,EAAEF,OAAO,EAAEC,IAAI,KAAKI,SAAS,GAAGJ,IAAI,GAAG,EAAE,CAAC;EAChE;AACF,CAAC;AAED,IAAIO,OAAmB,GAAGV,cAAc;;AAExC;AACA;AACA;AACA;AACA,OAAO,SAASW,aAAaA,CAACC,IAAwB,EAAQ;EAC5DF,OAAO,GAAGE,IAAI,IAAIZ,cAAc;AAClC;;AAEA;AACA,OAAO,SAASa,aAAaA,CAAA,EAAe;EAC1C,OAAOH,OAAO;AAChB;;AAEA;AACA,OAAO,SAASI,OAAOA,CAACZ,OAAe,EAAEC,IAAc,EAAQ;EAC7DO,OAAO,CAAC,MAAM,EAAER,OAAO,EAAEC,IAAI,CAAC;AAChC;;AAEA;AACA,OAAO,SAASY,UAAUA,CAACb,OAAe,EAAEC,IAAc,EAAQ;EAChEO,OAAO,CAAC,MAAM,EAAER,OAAO,EAAEC,IAAI,CAAC;AAChC;;AAEA;AACA,OAAO,SAASa,QAAQA,CAACd,OAAe,EAAEC,IAAc,EAAQ;EAC9DO,OAAO,CAAC,OAAO,EAAER,OAAO,EAAEC,IAAI,CAAC;AACjC;;AAEA;AACA,OAAO,SAASc,qBAAqBA,CACnCC,WAAoE,EAC9D;EACN,IAAI,CAACA,WAAW,IAAI,CAACA,WAAW,CAACC,MAAM,EAAE;EACzC,KAAK,MAAMC,GAAG,IAAIF,WAAW,EAAE;IAC7B,IAAIE,GAAG,CAACC,gBAAgB,EAAE;MACxBN,UAAU,CACR,YAAYK,GAAG,CAACE,QAAQ,IAAI,EAAE,MAAMF,GAAG,CAACC,gBAAgB,EAC1D,CAAC;IACH;EACF;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"imapHandler.d.ts","sourceRoot":"","sources":["../../../../server/src/imapHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imapHandler.d.ts","sourceRoot":"","sources":["../../../../server/src/imapHandler.ts"],"names":[],"mappings":"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"}
@@ -387,3 +387,51 @@ export declare const ImapNotConnectedError: (new () => Error) | undefined;
387
387
  * 仅在 Web 平台可用;原生平台此值为 `undefined`。
388
388
  */
389
389
  export declare const SmtpNotConnectedError: (new () => Error) | undefined;
390
+
391
+ // ─── 公共日志工具(所有平台可用) ─────────────────────────
392
+
393
+ /**
394
+ * 日志级别。
395
+ */
396
+ export type LogLevel = 'info' | 'warn' | 'error';
397
+
398
+ /**
399
+ * 自定义日志处理函数签名。
400
+ */
401
+ export type LogHandler = (
402
+ level: LogLevel,
403
+ message: string,
404
+ data?: unknown
405
+ ) => void;
406
+
407
+ /**
408
+ * 打印普通提示。
409
+ */
410
+ export declare function logInfo(message: string, data?: unknown): void;
411
+
412
+ /**
413
+ * 打印告警(Web 端=控制台 warn,原生端=调试输出)。
414
+ */
415
+ export declare function logWarning(message: string, data?: unknown): void;
416
+
417
+ /**
418
+ * 打印错误。
419
+ */
420
+ export declare function logError(message: string, data?: unknown): void;
421
+
422
+ /**
423
+ * 批量打印一批附件的完整性告警。
424
+ */
425
+ export declare function logAttachmentWarnings(
426
+ attachments: Array<{ filename?: string; integrityWarning?: string }>
427
+ ): void;
428
+
429
+ /**
430
+ * 自定义日志处理器。传 `null` 或省略可恢复默认的 console 输出。
431
+ */
432
+ export declare function setLogHandler(next?: LogHandler | null): void;
433
+
434
+ /**
435
+ * 获取当前日志处理器(默认是 console 版)。
436
+ */
437
+ export declare function getLogHandler(): LogHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AASA,QAAA,MAAQ,QAAQ,KAA4B,CAAC;AAI7C,QAAA,IAAI,IAAI,EAAE,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AASA,QAAA,MAAQ,QAAQ,KAA4B,CAAC;AAC7C,QAAA,MACE,qBAAqB,OACrB,UAAU,OACV,OAAO,OACP,QAAQ,OACR,aAAa,OACb,aAAa,KACK,CAAC;AAIrB,QAAA,IAAI,IAAI,EAAE,GAAG,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type LogLevel = 'info' | 'warn' | 'error';
2
+ /** 自定义日志处理函数签名 */
3
+ export type LogHandler = (level: LogLevel, message: string, data?: unknown) => void;
4
+ /**
5
+ * 自定义日志处理器。
6
+ * 传 `null` 或省略可恢复默认的 console 输出。
7
+ */
8
+ export declare function setLogHandler(next?: LogHandler | null): void;
9
+ /** 获取当前日志处理器(默认是 console 版) */
10
+ export declare function getLogHandler(): LogHandler;
11
+ /** 打印普通提示 */
12
+ export declare function logInfo(message: string, data?: unknown): void;
13
+ /** 打印告警(Web 端=控制台 warn,原生端=调试输出) */
14
+ export declare function logWarning(message: string, data?: unknown): void;
15
+ /** 打印错误 */
16
+ export declare function logError(message: string, data?: unknown): void;
17
+ /** 便捷方法:批量打印一批附件的完整性告警 */
18
+ export declare function logAttachmentWarnings(attachments: Array<{
19
+ filename?: string;
20
+ integrityWarning?: string;
21
+ }>): void;
22
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/log.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,kBAAkB;AAClB,MAAM,MAAM,UAAU,GAAG,CACvB,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,KACX,IAAI,CAAC;AAmBV;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAE5D;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED,aAAa;AACb,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAE7D;AAED,oCAAoC;AACpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAEhE;AAED,WAAW;AACX,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAE9D;AAED,0BAA0B;AAC1B,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,KAAK,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACnE,IAAI,CASN"}
@@ -235,6 +235,13 @@ export interface Attachment {
235
235
  contentDisposition: string;
236
236
  /** 附件在本地缓存的文件路径(大附件避免全部加载到内存) */
237
237
  localPath?: string;
238
+ /**
239
+ * 完整性校验告警(可选)。
240
+ * 仅当服务器声明的附件大小与实际下载字节数不一致时存在,
241
+ * 例如 `'附件大小与服务器声明不符: xxx'` 或 `'附件疑似截断: xxx'`。
242
+ * 正常下载的附件不包含此字段。
243
+ */
244
+ integrityWarning?: string;
238
245
  }
239
246
  /**
240
247
  * 邮件正文。
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-email-imap-smtp",
3
- "version": "0.3.28",
3
+ "version": "0.3.30",
4
4
  "description": "The best of imap and smtp client of react native",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"imapHandler.d.ts","sourceRoot":"","sources":["../src/imapHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imapHandler.d.ts","sourceRoot":"","sources":["../src/imapHandler.ts"],"names":[],"mappings":"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"}
@@ -776,26 +776,46 @@ async function fetchAllAttachments(sessionId, uid) {
776
776
  try {
777
777
  const att = await fetchAttachment(sessionId, uid, partId);
778
778
  if (att) {
779
- // 完整性校验:实际解码字节数应与 bodyStructure 的 size 一致。
780
- // ⚠️ size 常是「编码后字节数」(base64+CRLF),需用 lineCount 反推解码大小。
781
- // 兼容两种服务器约定(直接报解码大小 / 报编码大小),匹配任一即视为完整。
779
+ // 完整性校验(仅告警,不阻断):
780
+ // 目的:帮助排查下载异常,但绝不因校验失败丢弃附件——
781
+ // 下载完整性已由 imapflow download() 机制保证(持续 fetch 到短块、
782
+ // 出错抛异常 → fetchAttachment 返回 null)。
783
+ // ⚠️ bodyStructure 的 size 是「传输编码后」字节数,且 163 等服务器
784
+ // 会把 base64 按 ~76 字符/行 + CRLF 输出(size 含换行),反推存在
785
+ // 固有误差;因此这里只做提示,不阻断返回,避免附件被误杀。
786
+ // 告警会同时:① 打印到代理终端 ② 附加到附件对象(integrityWarning),
787
+ // 由客户端(index.tsx 公共层)转发到应用控制台/原生调试输出。
782
788
  const expected = partSizes[partId];
783
789
  const actual = Buffer.from(att.data, 'base64').length;
784
790
  if (expected !== undefined) {
785
- const candidates = [expected];
786
791
  const isBase64 = String(partEncodings[partId] ?? '')
787
792
  .toLowerCase()
788
793
  .includes('base64');
789
- const lineCount = partLineCounts[partId] ?? 0;
790
- if (isBase64 && lineCount > 0) {
791
- // 编码后大小 = 无换行 base64 长度 + 每行 CRLF(2字节)
792
- // 解码大小 ≈ (size - 2*lineCount) * 3/4
793
- candidates.push(Math.floor(((expected - 2 * lineCount) * 3) / 4));
794
+ const lineCount = partLineCounts[partId];
795
+ const hasLineCount = typeof lineCount === 'number' && lineCount > 0;
796
+ if (isBase64 && hasLineCount) {
797
+ // 文本附件:有 lineCount,可精确反推
798
+ // - expected:服务器直接报「解码大小」
799
+ // - (expected - 2*lineCount)*3/4:编码后带每行 CRLF 换行
800
+ const candidates = [
801
+ expected,
802
+ Math.floor(((expected - 2 * lineCount) * 3) / 4),
803
+ ];
804
+ const matched = candidates.some((c) => Math.abs(actual - c) <= 4);
805
+ if (!matched) {
806
+ const msg = `附件大小与服务器声明不符: ${att.filename} 实际 ${actual}B vs 期望 ${candidates.join('/')}B`;
807
+ console.warn(`[fetchAllAttachments] size-mismatch: ${msg}, KEPT`);
808
+ att.integrityWarning = msg;
809
+ }
794
810
  }
795
- const matched = candidates.some((c) => Math.abs(actual - c) <= 4);
796
- if (!matched) {
797
- console.log(`[fetchAllAttachments] truncated: part ${partId} ${actual} bytes vs expected ${candidates.join('|')}, skipped`);
798
- continue;
811
+ else if (isBase64) {
812
+ // 二进制附件(docx/pdf/png 等,无 lineCount):size 语义不可靠,
813
+ // 只对「严重异常」(实际 < 期望 50%)告警,同样不阻断。
814
+ if (actual < expected * 0.5) {
815
+ const msg = `附件疑似截断: ${att.filename} 实际 ${actual}B vs 期望 ${expected}B (<50%)`;
816
+ console.warn(`[fetchAllAttachments] size-mismatch: ${msg}, KEPT`);
817
+ att.integrityWarning = msg;
818
+ }
799
819
  }
800
820
  }
801
821
  results.push(att);