react-native-email-imap-smtp 0.3.20 → 0.3.21
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.
- package/lib/typescript/src/EmailImapSmtp.nitro.d.ts +304 -1
- package/lib/typescript/src/EmailImapSmtp.nitro.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +234 -0
- package/lib/typescript/src/types.d.ts +342 -3
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/EmailImapSmtp.nitro.ts +339 -2
- package/src/types.ts +332 -7
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* react-native-email-imap-smtp — 公共 API 类型声明
|
|
3
|
+
*
|
|
4
|
+
* 本文件在 bob build 后被 scripts/fix-types.js 复制为
|
|
5
|
+
* `lib/typescript/src/index.d.ts`,是使用方看到的完整 API 签名。
|
|
6
|
+
* 修改公共 API 时,请保持 `src/index.tsx` 的实现导出与之同步。
|
|
7
|
+
*/
|
|
1
8
|
import type {
|
|
9
|
+
AuthType,
|
|
10
|
+
ConnectionType,
|
|
11
|
+
MailboxFlag,
|
|
12
|
+
EmailFlag,
|
|
13
|
+
EmailPriority,
|
|
14
|
+
EmailAddress,
|
|
15
|
+
EmailBody,
|
|
16
|
+
ThreadInfo,
|
|
17
|
+
FetchOptions,
|
|
2
18
|
IMAPConfig,
|
|
3
19
|
IMAPConnectionResult,
|
|
4
20
|
Mailbox,
|
|
@@ -14,11 +30,22 @@ import type {
|
|
|
14
30
|
AppendResult,
|
|
15
31
|
SMTPConfig,
|
|
16
32
|
SMTPConnectionResult,
|
|
33
|
+
SendAttachment,
|
|
17
34
|
SendMailOptions,
|
|
18
35
|
SendMailResult,
|
|
36
|
+
EmailError,
|
|
19
37
|
} from './types';
|
|
20
38
|
|
|
21
39
|
export {
|
|
40
|
+
AuthType,
|
|
41
|
+
ConnectionType,
|
|
42
|
+
MailboxFlag,
|
|
43
|
+
EmailFlag,
|
|
44
|
+
EmailPriority,
|
|
45
|
+
EmailAddress,
|
|
46
|
+
EmailBody,
|
|
47
|
+
ThreadInfo,
|
|
48
|
+
FetchOptions,
|
|
22
49
|
IMAPConfig,
|
|
23
50
|
IMAPConnectionResult,
|
|
24
51
|
Mailbox,
|
|
@@ -34,99 +61,260 @@ export {
|
|
|
34
61
|
AppendResult,
|
|
35
62
|
SMTPConfig,
|
|
36
63
|
SMTPConnectionResult,
|
|
64
|
+
SendAttachment,
|
|
37
65
|
SendMailOptions,
|
|
38
66
|
SendMailResult,
|
|
67
|
+
EmailError,
|
|
39
68
|
}
|
|
40
69
|
|
|
41
70
|
// ─── IMAP ──────────────────────────────────────────────────
|
|
42
71
|
|
|
72
|
+
/**
|
|
73
|
+
* 建立 IMAP 连接。
|
|
74
|
+
*
|
|
75
|
+
* @param config 服务器连接配置(主机、端口、账号、加密方式等)
|
|
76
|
+
* @returns 连接结果,含服务器能力信息;`success === false` 时带 `error`
|
|
77
|
+
*/
|
|
43
78
|
export declare function imapConnect(
|
|
44
79
|
config: IMAPConfig
|
|
45
80
|
): Promise<IMAPConnectionResult>;
|
|
46
81
|
|
|
82
|
+
/**
|
|
83
|
+
* 断开当前 IMAP 连接并清理服务端会话。
|
|
84
|
+
*
|
|
85
|
+
* @returns 连接断开后 resolve;未连接时调用也安全
|
|
86
|
+
*/
|
|
47
87
|
export declare function imapDisconnect(): Promise<void>;
|
|
48
88
|
|
|
89
|
+
/**
|
|
90
|
+
* 列出所有邮箱(IMAP mailboxes)。
|
|
91
|
+
*
|
|
92
|
+
* @returns 邮箱列表,含订阅状态与属性标记
|
|
93
|
+
*/
|
|
49
94
|
export declare function imapListMailboxes(): Promise<Mailbox[]>;
|
|
50
95
|
|
|
96
|
+
/**
|
|
97
|
+
* 选择(打开)一个邮箱,之后的大多数 IMAP 操作都作用于该邮箱。
|
|
98
|
+
*
|
|
99
|
+
* @param mailbox 邮箱完整路径,例如 `'INBOX'`、`'Work/Project'`
|
|
100
|
+
* @param readOnly 是否以只读方式打开(不更新 `\\Seen` 标记),默认 false
|
|
101
|
+
* @returns 邮箱状态(UID、邮件数、未读数等)
|
|
102
|
+
*/
|
|
51
103
|
export declare function imapSelectMailbox(
|
|
52
104
|
mailbox: string,
|
|
53
105
|
readOnly?: boolean
|
|
54
106
|
): Promise<MailboxStatus>;
|
|
55
107
|
|
|
108
|
+
/**
|
|
109
|
+
* 刷新当前邮箱的状态(重新获取邮件数、未读数等)。
|
|
110
|
+
*
|
|
111
|
+
* @returns 刷新后的邮箱状态
|
|
112
|
+
*/
|
|
56
113
|
export declare function imapRefreshMailbox(): Promise<MailboxStatus>;
|
|
57
114
|
|
|
115
|
+
/**
|
|
116
|
+
* 获取文件夹树(含父子关系、邮件数、未读数)。
|
|
117
|
+
*
|
|
118
|
+
* @returns 文件夹列表
|
|
119
|
+
*/
|
|
58
120
|
export declare function imapFetchFolders(): Promise<Folder[]>;
|
|
59
121
|
|
|
122
|
+
/**
|
|
123
|
+
* 创建一个新文件夹。
|
|
124
|
+
*
|
|
125
|
+
* @param folderName 新文件夹的完整路径,例如 `'Archive/2026'`
|
|
126
|
+
* @returns 创建完成后 resolve
|
|
127
|
+
*/
|
|
60
128
|
export declare function imapCreateFolder(folderName: string): Promise<void>;
|
|
61
129
|
|
|
130
|
+
/**
|
|
131
|
+
* 删除一个文件夹及其中的所有邮件。
|
|
132
|
+
*
|
|
133
|
+
* @param folderName 待删除文件夹的完整路径
|
|
134
|
+
* @returns 删除完成后 resolve
|
|
135
|
+
*/
|
|
62
136
|
export declare function imapDeleteFolder(folderName: string): Promise<void>;
|
|
63
137
|
|
|
138
|
+
/**
|
|
139
|
+
* 重命名 / 移动一个文件夹。
|
|
140
|
+
*
|
|
141
|
+
* @param oldName 原文件夹完整路径
|
|
142
|
+
* @param newName 新文件夹完整路径
|
|
143
|
+
* @returns 重命名完成后 resolve
|
|
144
|
+
*/
|
|
64
145
|
export declare function imapRenameFolder(
|
|
65
146
|
oldName: string,
|
|
66
147
|
newName: string
|
|
67
148
|
): Promise<void>;
|
|
68
149
|
|
|
150
|
+
/**
|
|
151
|
+
* 订阅一个文件夹(出现在大多数客户端的默认列表中)。
|
|
152
|
+
*
|
|
153
|
+
* @param folderName 待订阅文件夹的完整路径
|
|
154
|
+
* @returns 订阅完成后 resolve
|
|
155
|
+
*/
|
|
69
156
|
export declare function imapSubscribeFolder(folderName: string): Promise<void>;
|
|
70
157
|
|
|
158
|
+
/**
|
|
159
|
+
* 取消订阅一个文件夹。
|
|
160
|
+
*
|
|
161
|
+
* @param folderName 待取消订阅文件夹的完整路径
|
|
162
|
+
* @returns 取消订阅完成后 resolve
|
|
163
|
+
*/
|
|
71
164
|
export declare function imapUnsubscribeFolder(
|
|
72
165
|
folderName: string
|
|
73
166
|
): Promise<void>;
|
|
74
167
|
|
|
168
|
+
/**
|
|
169
|
+
* 拉取邮件列表。
|
|
170
|
+
*
|
|
171
|
+
* @param options 查询条件(范围 / 分页 / 时间过滤 / 加载哪些部分)
|
|
172
|
+
* @returns 匹配的邮件列表(按 UID 从新到旧排序)
|
|
173
|
+
*/
|
|
75
174
|
export declare function imapFetchEmails(
|
|
76
175
|
options: FetchEmailsOptions
|
|
77
176
|
): Promise<Email[]>;
|
|
78
177
|
|
|
178
|
+
/**
|
|
179
|
+
* 按 UID 获取单封邮件。
|
|
180
|
+
*
|
|
181
|
+
* @param uid 邮件的 UID
|
|
182
|
+
* @returns 邮件内容;UID 不存在时返回 `null`
|
|
183
|
+
*/
|
|
79
184
|
export declare function imapFetchEmailByUID(
|
|
80
185
|
uid: number
|
|
81
186
|
): Promise<Email | null>;
|
|
82
187
|
|
|
188
|
+
/**
|
|
189
|
+
* 按条件搜索邮件。
|
|
190
|
+
*
|
|
191
|
+
* @param criteria 搜索条件(关键字、发件人、时间、标记等,多个条件为「且」)
|
|
192
|
+
* @returns 匹配的邮件列表(默认按 UID 从新到旧排序)
|
|
193
|
+
*/
|
|
83
194
|
export declare function imapSearchEmails(
|
|
84
195
|
criteria: SearchCriteria
|
|
85
196
|
): Promise<Email[]>;
|
|
86
197
|
|
|
198
|
+
/**
|
|
199
|
+
* 将指定邮件标记为已读。
|
|
200
|
+
*
|
|
201
|
+
* @param uids 目标邮件的 UID 列表
|
|
202
|
+
* @param silent 是否不触发服务器回调(避免其他客户端重复提醒),默认 false
|
|
203
|
+
* @returns 标记完成后 resolve
|
|
204
|
+
*/
|
|
87
205
|
export declare function imapMarkAsRead(
|
|
88
206
|
uids: number[],
|
|
89
207
|
silent?: boolean
|
|
90
208
|
): Promise<void>;
|
|
91
209
|
|
|
210
|
+
/**
|
|
211
|
+
* 添加或移除星标(`\\Flagged`)。
|
|
212
|
+
*
|
|
213
|
+
* @param uids 目标邮件的 UID 列表
|
|
214
|
+
* @param flagged `true` 加星标,`false` 取消星标
|
|
215
|
+
* @returns 标记完成后 resolve
|
|
216
|
+
*/
|
|
92
217
|
export declare function imapMarkAsFlagged(
|
|
93
218
|
uids: number[],
|
|
94
219
|
flagged: boolean
|
|
95
220
|
): Promise<void>;
|
|
96
221
|
|
|
222
|
+
/**
|
|
223
|
+
* 将邮件移动到另一个文件夹(原文件夹中的邮件被移除)。
|
|
224
|
+
*
|
|
225
|
+
* @param uids 目标邮件的 UID 列表
|
|
226
|
+
* @param destinationMailbox 目标文件夹的完整路径
|
|
227
|
+
* @returns 移动完成后 resolve
|
|
228
|
+
*/
|
|
97
229
|
export declare function imapMoveEmails(
|
|
98
230
|
uids: number[],
|
|
99
231
|
destinationMailbox: string
|
|
100
232
|
): Promise<void>;
|
|
101
233
|
|
|
234
|
+
/**
|
|
235
|
+
* 将邮件复制到另一个文件夹(原邮件保留)。
|
|
236
|
+
*
|
|
237
|
+
* @param uids 目标邮件的 UID 列表
|
|
238
|
+
* @param destinationMailbox 目标文件夹的完整路径
|
|
239
|
+
* @returns 复制完成后 resolve
|
|
240
|
+
*/
|
|
102
241
|
export declare function imapCopyEmails(
|
|
103
242
|
uids: number[],
|
|
104
243
|
destinationMailbox: string
|
|
105
244
|
): Promise<void>;
|
|
106
245
|
|
|
246
|
+
/**
|
|
247
|
+
* 删除指定邮件(标记 `\\Deleted` 并执行 expunge)。
|
|
248
|
+
*
|
|
249
|
+
* @param uids 目标邮件的 UID 列表
|
|
250
|
+
* @returns 逐封操作的结果统计
|
|
251
|
+
*/
|
|
107
252
|
export declare function imapDeleteEmails(
|
|
108
253
|
uids: number[]
|
|
109
254
|
): Promise<BatchResult>;
|
|
110
255
|
|
|
256
|
+
/**
|
|
257
|
+
* 永久清除当前邮箱中被标记为删除的邮件。
|
|
258
|
+
*
|
|
259
|
+
* @returns 清理完成后 resolve
|
|
260
|
+
*/
|
|
111
261
|
export declare function imapExpunge(): Promise<void>;
|
|
112
262
|
|
|
263
|
+
/**
|
|
264
|
+
* 获取单个附件内容。
|
|
265
|
+
*
|
|
266
|
+
* @param uid 所属邮件的 UID
|
|
267
|
+
* @param partId 附件在邮件体中的部分 ID(来自 `Email.attachments[].partId`)
|
|
268
|
+
* @returns 附件内容;不存在时返回 `null`
|
|
269
|
+
*/
|
|
113
270
|
export declare function imapFetchAttachments(
|
|
114
271
|
uid: number,
|
|
115
272
|
partId: string
|
|
116
273
|
): Promise<Attachment | null>;
|
|
117
274
|
|
|
275
|
+
/**
|
|
276
|
+
* 获取一封邮件的全部附件。
|
|
277
|
+
*
|
|
278
|
+
* @param uid 邮件的 UID
|
|
279
|
+
* @returns 附件列表
|
|
280
|
+
*/
|
|
118
281
|
export declare function imapFetchAllAttachments(
|
|
119
282
|
uid: number
|
|
120
283
|
): Promise<Attachment[]>;
|
|
121
284
|
|
|
285
|
+
/**
|
|
286
|
+
* 开启 IMAP IDLE 实时监听,邮箱发生变化时触发回调。
|
|
287
|
+
*
|
|
288
|
+
* @param callback 收到新通知时调用(新邮件、删除、标记变化、连接断开等)
|
|
289
|
+
* @returns 监听建立后 resolve
|
|
290
|
+
*/
|
|
122
291
|
export declare function imapIdle(
|
|
123
292
|
callback: (notification: IMAPNotification) => void
|
|
124
293
|
): Promise<void>;
|
|
125
294
|
|
|
295
|
+
/**
|
|
296
|
+
* 停止 IDLE 实时监听。
|
|
297
|
+
*
|
|
298
|
+
* @returns 监听停止后 resolve
|
|
299
|
+
*/
|
|
126
300
|
export declare function imapStopIdle(): Promise<void>;
|
|
127
301
|
|
|
302
|
+
/**
|
|
303
|
+
* 查询邮箱配额。
|
|
304
|
+
*
|
|
305
|
+
* @param root 配额根名称;不传时使用服务器默认根
|
|
306
|
+
* @returns 配额信息(存储用量 / 上限)
|
|
307
|
+
*/
|
|
128
308
|
export declare function imapGetQuota(root?: string): Promise<QuotaInfo>;
|
|
129
309
|
|
|
310
|
+
/**
|
|
311
|
+
* 将一封原始 MIME 邮件追加到指定文件夹。
|
|
312
|
+
*
|
|
313
|
+
* @param mailbox 目标文件夹完整路径
|
|
314
|
+
* @param rawMimeData 原始 MIME 二进制内容
|
|
315
|
+
* @param flags 附加的标记列表,如 `['\\Seen']`
|
|
316
|
+
* @returns 追加成功后服务器分配的 UID 等元数据
|
|
317
|
+
*/
|
|
130
318
|
export declare function imapAppendMessage(
|
|
131
319
|
mailbox: string,
|
|
132
320
|
rawMimeData: ArrayBuffer,
|
|
@@ -135,21 +323,67 @@ export declare function imapAppendMessage(
|
|
|
135
323
|
|
|
136
324
|
// ─── SMTP ──────────────────────────────────────────────────
|
|
137
325
|
|
|
326
|
+
/**
|
|
327
|
+
* 建立 SMTP 连接。
|
|
328
|
+
*
|
|
329
|
+
* @param config 服务器连接配置(主机、端口、账号、加密方式等)
|
|
330
|
+
* @returns 连接结果,含服务器能力与支持的认证方法信息
|
|
331
|
+
*/
|
|
138
332
|
export declare function smtpConnect(
|
|
139
333
|
config: SMTPConfig
|
|
140
334
|
): Promise<SMTPConnectionResult>;
|
|
141
335
|
|
|
336
|
+
/**
|
|
337
|
+
* 断开当前 SMTP 连接并清理会话。
|
|
338
|
+
*
|
|
339
|
+
* @returns 断开完成后 resolve;未连接时调用也安全
|
|
340
|
+
*/
|
|
142
341
|
export declare function smtpDisconnect(): Promise<void>;
|
|
143
342
|
|
|
343
|
+
/**
|
|
344
|
+
* 发送一封邮件。
|
|
345
|
+
*
|
|
346
|
+
* @param options 发信选项(发件人、收件人、主题、正文、附件、优先级等)
|
|
347
|
+
* @returns 发送结果;`success === false` 时带 `error`
|
|
348
|
+
*/
|
|
144
349
|
export declare function smtpSendMail(
|
|
145
350
|
options: SendMailOptions
|
|
146
351
|
): Promise<SendMailResult>;
|
|
147
352
|
|
|
353
|
+
/**
|
|
354
|
+
* 验证当前 SMTP 连接是否仍可用。
|
|
355
|
+
*
|
|
356
|
+
* @returns `true` 表示连接正常可用
|
|
357
|
+
*/
|
|
148
358
|
export declare function smtpVerifyConnection(): Promise<boolean>;
|
|
149
359
|
|
|
150
360
|
// ─── Web 专属(原生平台为 undefined) ─────────────────────
|
|
151
361
|
|
|
362
|
+
/**
|
|
363
|
+
* 设置 Web 端代理服务器地址。
|
|
364
|
+
*
|
|
365
|
+
* 仅在 Web 平台可用;原生平台此值为 `undefined`。
|
|
366
|
+
* 例如 `setProxyUrl('http://localhost:3987')`。
|
|
367
|
+
*/
|
|
152
368
|
export declare const setProxyUrl: ((url: string) => void) | undefined;
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* 获取当前 Web 端代理服务器地址。
|
|
372
|
+
*
|
|
373
|
+
* 仅在 Web 平台可用;原生平台此值为 `undefined`。
|
|
374
|
+
*/
|
|
153
375
|
export declare const getProxyUrl: (() => string) | undefined;
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* IMAP 未连接错误类,可用于 `instanceof` 判断。
|
|
379
|
+
*
|
|
380
|
+
* 仅在 Web 平台可用;原生平台此值为 `undefined`。
|
|
381
|
+
*/
|
|
154
382
|
export declare const ImapNotConnectedError: (new () => Error) | undefined;
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* SMTP 未连接错误类,可用于 `instanceof` 判断。
|
|
386
|
+
*
|
|
387
|
+
* 仅在 Web 平台可用;原生平台此值为 `undefined`。
|
|
388
|
+
*/
|
|
155
389
|
export declare const SmtpNotConnectedError: (new () => Error) | undefined;
|