@nocobase/app-plugin-mail 1.0.0-beta.13 → 1.0.0-beta.14
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/CHANGELOG.md +22 -0
- package/README.md +8 -0
- package/dist/database/migrations/.manifest.json +4 -0
- package/dist/database/migrations/202610250001_mail_imap_message_locations.d.ts +4 -0
- package/dist/database/migrations/202610250001_mail_imap_message_locations.d.ts.map +1 -0
- package/dist/database/migrations/202610250001_mail_imap_message_locations.js +297 -0
- package/dist/database/migrations/202610250001_mail_imap_message_locations.js.map +1 -0
- package/dist/server/adapters/imap-smtp/adapter.d.ts +60 -3
- package/dist/server/adapters/imap-smtp/adapter.d.ts.map +1 -1
- package/dist/server/adapters/imap-smtp/adapter.js +774 -83
- package/dist/server/adapters/imap-smtp/adapter.js.map +1 -1
- package/dist/server/adapters/imap-smtp/constants.d.ts +6 -0
- package/dist/server/adapters/imap-smtp/constants.d.ts.map +1 -1
- package/dist/server/adapters/imap-smtp/constants.js +6 -0
- package/dist/server/adapters/imap-smtp/constants.js.map +1 -1
- package/dist/server/adapters/imap-smtp/content.d.ts +11 -0
- package/dist/server/adapters/imap-smtp/content.d.ts.map +1 -1
- package/dist/server/adapters/imap-smtp/content.js +82 -3
- package/dist/server/adapters/imap-smtp/content.js.map +1 -1
- package/dist/server/adapters/imap-smtp/definition.d.ts +7 -0
- package/dist/server/adapters/imap-smtp/definition.d.ts.map +1 -1
- package/dist/server/adapters/imap-smtp/definition.js +19 -11
- package/dist/server/adapters/imap-smtp/definition.js.map +1 -1
- package/dist/server/adapters/imap-smtp/locators.d.ts +7 -0
- package/dist/server/adapters/imap-smtp/locators.d.ts.map +1 -1
- package/dist/server/adapters/imap-smtp/locators.js +53 -3
- package/dist/server/adapters/imap-smtp/locators.js.map +1 -1
- package/dist/server/adapters/imap-smtp/types.d.ts +87 -0
- package/dist/server/adapters/imap-smtp/types.d.ts.map +1 -1
- package/dist/server/operations/message-mutations.d.ts.map +1 -1
- package/dist/server/operations/message-mutations.js +57 -5
- package/dist/server/operations/message-mutations.js.map +1 -1
- package/dist/server/operations/sync-mailbox.d.ts.map +1 -1
- package/dist/server/operations/sync-mailbox.js +26 -10
- package/dist/server/operations/sync-mailbox.js.map +1 -1
- package/dist/server/providers/mail-builtins.d.ts.map +1 -1
- package/dist/server/providers/mail-builtins.js +6 -2
- package/dist/server/providers/mail-builtins.js.map +1 -1
- package/dist/server/store/attachments.d.ts.map +1 -1
- package/dist/server/store/attachments.js +3 -0
- package/dist/server/store/attachments.js.map +1 -1
- package/dist/server/store/message-writes.d.ts +24 -1
- package/dist/server/store/message-writes.d.ts.map +1 -1
- package/dist/server/store/message-writes.js +357 -1
- package/dist/server/store/message-writes.js.map +1 -1
- package/dist/server/store/messages.d.ts.map +1 -1
- package/dist/server/store/messages.js +11 -3
- package/dist/server/store/messages.js.map +1 -1
- package/dist/server/store/rows.d.ts +20 -0
- package/dist/server/store/rows.d.ts.map +1 -1
- package/dist/server/store/sync.d.ts +7 -1
- package/dist/server/store/sync.d.ts.map +1 -1
- package/dist/server/store/sync.js +333 -7
- package/dist/server/store/sync.js.map +1 -1
- package/package.json +14 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,10 @@ export declare const CONNECTION_TIMEOUT_MS: number;
|
|
|
4
4
|
export declare const SOCKET_TIMEOUT_MS: number;
|
|
5
5
|
export declare const MAX_IMAP_BODY_BYTES: number;
|
|
6
6
|
export declare const MAX_IMAP_DETAIL_BODY_BYTES: number;
|
|
7
|
+
/** Raw MIME bytes compared to reuse an RFC Message-ID identity. */
|
|
8
|
+
export declare const MAX_IMAP_RAW_COMPARE_BYTES: number;
|
|
9
|
+
export declare const MAX_IMAP_RAW_COMPARE_BUDGET: number;
|
|
10
|
+
export declare const MAX_IMAP_PROVIDER_ID_LENGTH: number;
|
|
11
|
+
export declare const MAX_IMAP_VERIFY_STATE_BYTES: number;
|
|
12
|
+
export declare const MAX_IMAP_VERIFY_ATTEMPTS: number;
|
|
7
13
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,eAAO,MAAM,sBAAsB,EAAE,sBAAsB,CAAC,cAAc,CAUzE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAmB,CAAC;AACxD,eAAO,MAAM,iBAAiB,EAAE,MAAmB,CAAC;AAEpD,eAAO,MAAM,mBAAmB,EAAE,MAAwB,CAAC;AAE3D,eAAO,MAAM,0BAA0B,EAAE,MAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,eAAO,MAAM,sBAAsB,EAAE,sBAAsB,CAAC,cAAc,CAUzE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAmB,CAAC;AACxD,eAAO,MAAM,iBAAiB,EAAE,MAAmB,CAAC;AAEpD,eAAO,MAAM,mBAAmB,EAAE,MAAwB,CAAC;AAE3D,eAAO,MAAM,0BAA0B,EAAE,MAAyB,CAAC;AAEnE,mEAAmE;AACnE,eAAO,MAAM,0BAA0B,EAAE,MAAwB,CAAC;AAClE,eAAO,MAAM,2BAA2B,EAAE,MAAwB,CAAC;AACnE,eAAO,MAAM,2BAA2B,EAAE,MAAY,CAAC;AACvD,eAAO,MAAM,2BAA2B,EAAE,MAAoB,CAAC;AAC/D,eAAO,MAAM,wBAAwB,EAAE,MAAU,CAAC"}
|
|
@@ -13,4 +13,10 @@ export const CONNECTION_TIMEOUT_MS = 30 * 1_000;
|
|
|
13
13
|
export const SOCKET_TIMEOUT_MS = 60 * 1_000;
|
|
14
14
|
export const MAX_IMAP_BODY_BYTES = 2 * 1024 * 1024;
|
|
15
15
|
export const MAX_IMAP_DETAIL_BODY_BYTES = 16 * 1024 * 1024;
|
|
16
|
+
/** Raw MIME bytes compared to reuse an RFC Message-ID identity. */
|
|
17
|
+
export const MAX_IMAP_RAW_COMPARE_BYTES = 2 * 1024 * 1024;
|
|
18
|
+
export const MAX_IMAP_RAW_COMPARE_BUDGET = 8 * 1024 * 1024;
|
|
19
|
+
export const MAX_IMAP_PROVIDER_ID_LENGTH = 500;
|
|
20
|
+
export const MAX_IMAP_VERIFY_STATE_BYTES = 1024 * 1024;
|
|
21
|
+
export const MAX_IMAP_VERIFY_ATTEMPTS = 5;
|
|
16
22
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAA2C;IAC5E,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,KAAK;IACxB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAW,EAAE,GAAG,KAAK,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAW,EAAE,GAAG,KAAK,CAAC;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3D,MAAM,CAAC,MAAM,0BAA0B,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAA2C;IAC5E,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,KAAK;IACxB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAW,EAAE,GAAG,KAAK,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAW,EAAE,GAAG,KAAK,CAAC;AAEpD,MAAM,CAAC,MAAM,mBAAmB,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3D,MAAM,CAAC,MAAM,0BAA0B,GAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnE,mEAAmE;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAClE,MAAM,CAAC,MAAM,2BAA2B,GAAW,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAW,GAAG,CAAC;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAW,IAAI,GAAG,IAAI,CAAC;AAC/D,MAAM,CAAC,MAAM,wBAAwB,GAAW,CAAC,CAAC"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import type { FetchQueryObject, ImapFlow, MessageStructureObject } from 'imapflow';
|
|
2
2
|
import type { NormalizedMailAttachment } from '../../../shared/mail.js';
|
|
3
3
|
import type { NormalizedMailMessage } from '../../contracts/provider.js';
|
|
4
|
+
export declare const MAX_HEADER_BYTES: number;
|
|
4
5
|
export declare function metadataQuery(): FetchQueryObject;
|
|
6
|
+
/**
|
|
7
|
+
* True when raw MIME bytes can prove two copies identical without reading
|
|
8
|
+
* attachment or CID content: only known text leaves, within the byte limit.
|
|
9
|
+
*/
|
|
10
|
+
export declare function rawComparable(structure: MessageStructureObject | undefined, size: number | undefined, maxBytes: number): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Read the complete RFC822 source in bounded windows. Returns undefined unless
|
|
13
|
+
* every window arrived in order and the total equals RFC822.SIZE.
|
|
14
|
+
*/
|
|
15
|
+
export declare function readRawSource(client: ImapFlow, uid: number, size: number, signal?: AbortSignal): Promise<Buffer | undefined>;
|
|
5
16
|
export declare function attachmentParts(structure?: MessageStructureObject): MessageStructureObject[];
|
|
6
17
|
export declare function bodyParts(structure?: MessageStructureObject): MessageStructureObject[] | undefined;
|
|
7
18
|
export declare function attachmentMetadata(folder: string, uidValidity: string, uid: number, part: MessageStructureObject, index: number): NormalizedMailAttachment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,QAAQ,EACR,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAKzE,eAAO,MAAM,gBAAgB,EAAE,MAAkB,CAAC;AAGlD,wBAAgB,aAAa,IAAI,gBAAgB,CAWhD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,sBAAsB,GAAG,SAAS,EAC7C,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAuCT;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4C7B;AAmBD,wBAAgB,eAAe,CAC7B,SAAS,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,EAAE,CAE1B;AAED,wBAAgB,SAAS,CACvB,SAAS,CAAC,EAAE,sBAAsB,GACjC,sBAAsB,EAAE,GAAG,SAAS,CAatC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,sBAAsB,EAC5B,KAAK,EAAE,MAAM,GACZ,wBAAwB,CAkB1B;AAED,KAAK,WAAW,GAAG,IAAI,CACrB,qBAAqB,EACrB,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,cAAc,CACnD,CAAC;AAEF,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,QAAQ,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,sBAAsB,EAAE,GAAG,SAAS,EAC3C,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,GAAE,MAA4B,GACrC,OAAO,CAAC,WAAW,CAAC,CA6GtB"}
|
|
@@ -2,7 +2,8 @@ import { simpleParser } from 'mailparser';
|
|
|
2
2
|
import { encodeAttachmentLocator } from './locators.js';
|
|
3
3
|
import { classifyError, throwIfAborted } from './errors.js';
|
|
4
4
|
import { MAX_IMAP_BODY_BYTES } from './constants.js';
|
|
5
|
-
const MAX_HEADER_BYTES = 64 * 1024;
|
|
5
|
+
export const MAX_HEADER_BYTES = 64 * 1024;
|
|
6
|
+
const RAW_WINDOW_BYTES = 1024 * 1024;
|
|
6
7
|
export function metadataQuery() {
|
|
7
8
|
return {
|
|
8
9
|
uid: true,
|
|
@@ -11,9 +12,79 @@ export function metadataQuery() {
|
|
|
11
12
|
internalDate: true,
|
|
12
13
|
envelope: true,
|
|
13
14
|
bodyStructure: true,
|
|
14
|
-
|
|
15
|
+
// One extra byte shows whether the header block was cut at the budget.
|
|
16
|
+
bodyParts: [{ key: 'HEADER', start: 0, maxLength: MAX_HEADER_BYTES + 1 }],
|
|
15
17
|
};
|
|
16
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* True when raw MIME bytes can prove two copies identical without reading
|
|
21
|
+
* attachment or CID content: only known text leaves, within the byte limit.
|
|
22
|
+
*/
|
|
23
|
+
export function rawComparable(structure, size, maxBytes) {
|
|
24
|
+
if (!structure || size === undefined || !Number.isSafeInteger(size))
|
|
25
|
+
return false;
|
|
26
|
+
if (size < 1 || size > maxBytes)
|
|
27
|
+
return false;
|
|
28
|
+
const allowed = (part) => {
|
|
29
|
+
if (typeof part.type !== 'string' ||
|
|
30
|
+
part.id ||
|
|
31
|
+
part.parameters?.name ||
|
|
32
|
+
part.dispositionParameters?.filename ||
|
|
33
|
+
(part.disposition && part.disposition.toLowerCase() !== 'inline'))
|
|
34
|
+
return false;
|
|
35
|
+
const type = part.type.toLowerCase();
|
|
36
|
+
if (type.startsWith('multipart/')) {
|
|
37
|
+
if (![
|
|
38
|
+
'multipart/mixed',
|
|
39
|
+
'multipart/alternative',
|
|
40
|
+
'multipart/related',
|
|
41
|
+
'multipart/parallel',
|
|
42
|
+
'multipart/digest',
|
|
43
|
+
'multipart/report',
|
|
44
|
+
'multipart/signed',
|
|
45
|
+
'multipart/encrypted',
|
|
46
|
+
].includes(type))
|
|
47
|
+
return false;
|
|
48
|
+
return (Array.isArray(part.childNodes) &&
|
|
49
|
+
part.childNodes.length > 0 &&
|
|
50
|
+
part.childNodes.every((child) => Boolean(child) && allowed(child)));
|
|
51
|
+
}
|
|
52
|
+
return (['text/plain', 'text/html'].includes(type) && !part.childNodes?.length);
|
|
53
|
+
};
|
|
54
|
+
return allowed(structure);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Read the complete RFC822 source in bounded windows. Returns undefined unless
|
|
58
|
+
* every window arrived in order and the total equals RFC822.SIZE.
|
|
59
|
+
*/
|
|
60
|
+
export async function readRawSource(client, uid, size, signal) {
|
|
61
|
+
const chunks = [];
|
|
62
|
+
let offset = 0;
|
|
63
|
+
while (offset < size) {
|
|
64
|
+
throwIfAborted(signal);
|
|
65
|
+
const length = Math.min(RAW_WINDOW_BYTES, size - offset);
|
|
66
|
+
const fetched = await client.fetchOne(uid, { uid: true, source: { start: offset, maxLength: length } }, { uid: true });
|
|
67
|
+
const chunk = fetched ? fetched.source : undefined;
|
|
68
|
+
// ImapFlow retains the server's literal origin as a non-enumerable property.
|
|
69
|
+
const origins = fetched
|
|
70
|
+
? fetched.partialOrigins
|
|
71
|
+
: undefined;
|
|
72
|
+
if (!fetched || fetched.uid !== uid || origins?.get('') !== offset)
|
|
73
|
+
return undefined;
|
|
74
|
+
if (!chunk || chunk.byteLength !== length)
|
|
75
|
+
return undefined;
|
|
76
|
+
chunks.push(chunk);
|
|
77
|
+
offset += chunk.byteLength;
|
|
78
|
+
}
|
|
79
|
+
throwIfAborted(signal);
|
|
80
|
+
const end = await client.fetchOne(uid, { uid: true, source: { start: size, maxLength: 1 } }, { uid: true });
|
|
81
|
+
if (!end || !Buffer.isBuffer(end.source) || end.source.byteLength !== 0)
|
|
82
|
+
return undefined;
|
|
83
|
+
if (end.uid !== uid ||
|
|
84
|
+
end.partialOrigins?.get('') !== size)
|
|
85
|
+
return undefined;
|
|
86
|
+
return Buffer.concat(chunks, size);
|
|
87
|
+
}
|
|
17
88
|
function isAttachment(part) {
|
|
18
89
|
return (!['text/plain', 'text/html', 'message/delivery-status'].includes(part.type.toLowerCase()) ||
|
|
19
90
|
Boolean(part.disposition && part.disposition.toLowerCase() !== 'inline'));
|
|
@@ -30,7 +101,15 @@ export function attachmentParts(structure) {
|
|
|
30
101
|
return leaves(structure).filter(isAttachment);
|
|
31
102
|
}
|
|
32
103
|
export function bodyParts(structure) {
|
|
33
|
-
|
|
104
|
+
const complete = (part) => {
|
|
105
|
+
if (!part || typeof part.type !== 'string' || !part.type)
|
|
106
|
+
return false;
|
|
107
|
+
return (!part.type.toLowerCase().startsWith('multipart/') ||
|
|
108
|
+
(Array.isArray(part.childNodes) &&
|
|
109
|
+
part.childNodes.length > 0 &&
|
|
110
|
+
part.childNodes.every(complete)));
|
|
111
|
+
};
|
|
112
|
+
return structure && complete(structure)
|
|
34
113
|
? leaves(structure).filter((part) => !isAttachment(part))
|
|
35
114
|
: undefined;
|
|
36
115
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/content.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/content.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { MailProviderDefinition } from '../../contracts/provider.js';
|
|
2
|
+
import type { ImapLocationPersistence } from './types.js';
|
|
2
3
|
import type { ImapSmtpMailProviderConfig } from './config.js';
|
|
4
|
+
/**
|
|
5
|
+
* Mail registers this definition with persistence bound to each account, so
|
|
6
|
+
* every adapter instance reads and commits only its own account's copies.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createImapSmtpMailProviderDefinition(locations?: (accountId: string) => ImapLocationPersistence): MailProviderDefinition<ImapSmtpMailProviderConfig>;
|
|
9
|
+
/** Protocol-only definition without location persistence. */
|
|
3
10
|
export declare const imapSmtpMailProviderDefinition: MailProviderDefinition<ImapSmtpMailProviderConfig>;
|
|
4
11
|
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,uBAAuB,EAAsB,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAM9D;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,uBAAuB,GACzD,sBAAsB,CAAC,0BAA0B,CAAC,CAwBpD;AAED,6DAA6D;AAC7D,eAAO,MAAM,8BAA8B,EAAE,sBAAsB,CAAC,0BAA0B,CACtD,CAAC"}
|
|
@@ -2,17 +2,25 @@ import { IMAP_SMTP_CAPABILITIES } from './constants.js';
|
|
|
2
2
|
import { ImapSmtpAdapter } from './adapter.js';
|
|
3
3
|
import { validateConfig, verifyConnections } from './connection.js';
|
|
4
4
|
import { classifyError, failure } from './errors.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Mail registers this definition with persistence bound to each account, so
|
|
7
|
+
* every adapter instance reads and commits only its own account's copies.
|
|
8
|
+
*/
|
|
9
|
+
export function createImapSmtpMailProviderDefinition(locations) {
|
|
10
|
+
return {
|
|
11
|
+
type: 'imap-smtp',
|
|
12
|
+
label: 'IMAP / SMTP',
|
|
13
|
+
capabilities: IMAP_SMTP_CAPABILITIES,
|
|
14
|
+
validateConfig,
|
|
15
|
+
connection: createConnection(),
|
|
16
|
+
async createAdapter(context, config, account) {
|
|
17
|
+
const credential = await context.credentials.get(account.credentialReference);
|
|
18
|
+
return new ImapSmtpAdapter(context, config, account, credential, locations?.(account.id));
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/** Protocol-only definition without location persistence. */
|
|
23
|
+
export const imapSmtpMailProviderDefinition = createImapSmtpMailProviderDefinition();
|
|
16
24
|
function createConnection() {
|
|
17
25
|
return {
|
|
18
26
|
async connect(context, config, input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/definition.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/definition.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,oCAAoC,CAClD,SAA0D;IAE1D,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,sBAAsB;QACpC,cAAc;QACd,UAAU,EAAE,gBAAgB,EAAE;QAC9B,KAAK,CAAC,aAAa,CACjB,OAA4B,EAC5B,MAAkC,EAClC,OAA4B;YAE5B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CAC9C,OAAO,CAAC,mBAAmB,CAC5B,CAAC;YACF,OAAO,IAAI,eAAe,CACxB,OAAO,EACP,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CACxB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,8BAA8B,GACzC,oCAAoC,EAAE,CAAC;AAEzC,SAAS,gBAAgB;IACvB,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1B,OAAO,OAAO,CACZ,4BAA4B,EAC5B,gCAAgC,EAChC,eAAe,EACf,KAAK,CACN,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC9C,OAAO,OAAO,CACZ,gCAAgC,EAChC,6CAA6C,EAC7C,gBAAgB,EAChB,KAAK,CACN,CAAC;YACJ,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,MAAM,EAAE;oBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;gBACH,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,CACvD;oBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACI,EAC9B,EAAE,OAAO,EAAE,SAAS,EAAE,CACvB,CAAC;gBACF,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,KAAK,EAAE;wBACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;wBAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS;wBACnD,oBAAoB,EAAE,KAAK,CAAC,QAAQ;wBACpC,mBAAmB;wBACnB,MAAM,EAAE,EAAE;wBACV,UAAU,EAAE;4BACV;gCACE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;gCAC3C,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS;gCACnD,SAAS,EAAE,IAAI;gCACf,OAAO,EAAE,IAAI;6BACd;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACzE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -4,6 +4,8 @@ export declare const MAX_IMAP_UID = 4294967295;
|
|
|
4
4
|
export declare function folderCursor(uidValidity: bigint | undefined, uidNext: number | undefined): ImapFolderCursor;
|
|
5
5
|
export declare function syncCursor(value: ImapSyncCursor): MailSyncCursor;
|
|
6
6
|
export declare function parseSyncCursor(cursor: MailSyncCursor | undefined): ImapSyncCursor;
|
|
7
|
+
/** Compress a UID set into sorted IMAP ranges; equal sets give equal strings. */
|
|
8
|
+
export declare function compressUids(uids: Iterable<number>): string;
|
|
7
9
|
export declare function parseHistoryCursor(cursor: string | undefined): {
|
|
8
10
|
readonly folderIndex: number;
|
|
9
11
|
readonly upperUid?: number;
|
|
@@ -15,6 +17,11 @@ export declare function encodeHistoryCursor(value: {
|
|
|
15
17
|
}): string;
|
|
16
18
|
export declare function rangeFor(start: number, end: number): string;
|
|
17
19
|
export declare function encodeMessageLocator(locator: MessageLocator): string;
|
|
20
|
+
/**
|
|
21
|
+
* Location identity of one copy. A locator too long for providerMessageId
|
|
22
|
+
* names the persisted location row instead; reads resolve it to its tuple.
|
|
23
|
+
*/
|
|
24
|
+
export declare function encodeCopyLocator(locator: MessageLocator, locationId: string): string;
|
|
18
25
|
export declare function encodeAttachmentLocator(locator: AttachmentLocator): string;
|
|
19
26
|
export declare function parseMessageLocator(value: string): MessageLocator | undefined;
|
|
20
27
|
export declare function parseAttachmentLocator(value: string): AttachmentLocator | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/locators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,
|
|
1
|
+
{"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../../server/adapters/imap-smtp/locators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EAGd,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,YAAY,aAAc,CAAC;AAExC,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,gBAAgB,CA0BlB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAEhE;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,GAAG,SAAS,GACjC,cAAc,CA8BhB;AA2BD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAW3D;AAuBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,CAwCA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,MAAM,CAET;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAEpE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,GACjB,MAAM,CASR;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAU7E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GACZ,iBAAiB,GAAG,SAAS,CAgB/B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAInE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAIzE"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { MAX_IMAP_PROVIDER_ID_LENGTH } from './constants.js';
|
|
1
2
|
export const MAX_IMAP_UID = 0xffff_ffff;
|
|
2
3
|
export function folderCursor(uidValidity, uidNext) {
|
|
3
4
|
if (uidNext === undefined ||
|
|
4
5
|
!Number.isSafeInteger(uidNext) ||
|
|
5
6
|
uidNext < 1 ||
|
|
6
|
-
uidNext > MAX_IMAP_UID) {
|
|
7
|
+
uidNext > MAX_IMAP_UID + 1) {
|
|
7
8
|
throw Object.assign(new Error('The IMAP server returned an invalid UIDNEXT.'), { code: 'IMAP_INVALID_UIDNEXT' });
|
|
8
9
|
}
|
|
9
10
|
if (uidValidity === undefined ||
|
|
@@ -41,7 +42,42 @@ export function parseSyncCursor(cursor) {
|
|
|
41
42
|
}
|
|
42
43
|
folders[path] = value;
|
|
43
44
|
}
|
|
44
|
-
|
|
45
|
+
if (record.verify === undefined)
|
|
46
|
+
return { version: 1, folders };
|
|
47
|
+
if (!isVerifyState(record.verify))
|
|
48
|
+
throw new Error('Invalid IMAP sync cursor.');
|
|
49
|
+
return { version: 1, folders, verify: record.verify };
|
|
50
|
+
}
|
|
51
|
+
function isVerifyState(value) {
|
|
52
|
+
if (!value || typeof value !== 'object')
|
|
53
|
+
return false;
|
|
54
|
+
const record = value;
|
|
55
|
+
if (record.excluded !== undefined &&
|
|
56
|
+
(!Array.isArray(record.excluded) ||
|
|
57
|
+
!record.excluded.every((value) => typeof value === 'string')))
|
|
58
|
+
return false;
|
|
59
|
+
if (!Number.isSafeInteger(record.attempts) || record.attempts < 0)
|
|
60
|
+
return false;
|
|
61
|
+
if (record.folders === undefined)
|
|
62
|
+
return true;
|
|
63
|
+
if (!record.folders || typeof record.folders !== 'object')
|
|
64
|
+
return false;
|
|
65
|
+
return Object.values(record.folders).every((folder) => isImapFolderCursor(folder) &&
|
|
66
|
+
typeof folder.uids === 'string' &&
|
|
67
|
+
/^[\d:,]*$/.test(folder.uids));
|
|
68
|
+
}
|
|
69
|
+
/** Compress a UID set into sorted IMAP ranges; equal sets give equal strings. */
|
|
70
|
+
export function compressUids(uids) {
|
|
71
|
+
const sorted = [...new Set(uids)].sort((left, right) => left - right);
|
|
72
|
+
const ranges = [];
|
|
73
|
+
for (let index = 0; index < sorted.length;) {
|
|
74
|
+
let end = index;
|
|
75
|
+
while (end + 1 < sorted.length && sorted[end + 1] === sorted[end] + 1)
|
|
76
|
+
end += 1;
|
|
77
|
+
ranges.push(rangeFor(sorted[index], sorted[end]));
|
|
78
|
+
index = end + 1;
|
|
79
|
+
}
|
|
80
|
+
return ranges.join(',');
|
|
45
81
|
}
|
|
46
82
|
function isImapFolderCursor(value) {
|
|
47
83
|
if (!value || typeof value !== 'object')
|
|
@@ -50,7 +86,7 @@ function isImapFolderCursor(value) {
|
|
|
50
86
|
return (isUidValidity(record.uidValidity) &&
|
|
51
87
|
Number.isSafeInteger(record.uidNext) &&
|
|
52
88
|
record.uidNext >= 1 &&
|
|
53
|
-
record.uidNext <= MAX_IMAP_UID);
|
|
89
|
+
record.uidNext <= MAX_IMAP_UID + 1);
|
|
54
90
|
}
|
|
55
91
|
function isUidValidity(value) {
|
|
56
92
|
if (typeof value !== 'string' ||
|
|
@@ -100,6 +136,20 @@ export function rangeFor(start, end) {
|
|
|
100
136
|
export function encodeMessageLocator(locator) {
|
|
101
137
|
return `imap:${Buffer.from(JSON.stringify(locator)).toString('base64url')}`;
|
|
102
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Location identity of one copy. A locator too long for providerMessageId
|
|
141
|
+
* names the persisted location row instead; reads resolve it to its tuple.
|
|
142
|
+
*/
|
|
143
|
+
export function encodeCopyLocator(locator, locationId) {
|
|
144
|
+
const value = encodeMessageLocator({
|
|
145
|
+
folder: locator.folder,
|
|
146
|
+
uidValidity: locator.uidValidity,
|
|
147
|
+
uid: locator.uid,
|
|
148
|
+
});
|
|
149
|
+
return value.length <= MAX_IMAP_PROVIDER_ID_LENGTH
|
|
150
|
+
? value
|
|
151
|
+
: `imap-loc:${locationId}`;
|
|
152
|
+
}
|
|
103
153
|
export function encodeAttachmentLocator(locator) {
|
|
104
154
|
return `imap-attachment:${Buffer.from(JSON.stringify(locator)).toString('base64url')}`;
|
|
105
155
|
}
|