@clize/clize 0.8.3 → 0.8.4
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.
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import PostalMime from "postal-mime";
|
|
2
2
|
const INBOX_WORKER = "aw-email-inbox";
|
|
3
3
|
const INBOX_KV_TITLE = "aw-inbound-email";
|
|
4
|
-
/** agent 收件箱 Email Worker 源码:入站邮件 value 存完整 raw MIME(供 postal-mime 解析正文)+ metadata 存信封,可选转发(env.FORWARD_TO)。
|
|
4
|
+
/** agent 收件箱 Email Worker 源码:入站邮件 value 存完整 raw MIME(供 postal-mime 解析正文)+ metadata 存信封,可选转发(env.FORWARD_TO)。
|
|
5
|
+
* KV key 用幂等摘要(Message-ID 优先,缺失则整封 raw 的 SHA-256):同一封被重投递(SMTP 重试 / Email Routing 重投)时落回同一个 key,
|
|
6
|
+
* KV put 覆盖而非新增 → 不再重复入箱。读取侧只把 key 当字符串、按 metadata.receivedAt 排序,故改 key 段不影响读路径。 */
|
|
5
7
|
const INBOX_WORKER_SRC = `
|
|
6
8
|
export default {
|
|
7
9
|
async email(message, env, ctx) {
|
|
10
|
+
// value 存完整 raw MIME(正文在里面,读时用 postal-mime 解析);metadata 存信封供列表快速读
|
|
11
|
+
const raw = await new Response(message.raw).text();
|
|
12
|
+
const messageId = (message.headers.get("message-id") || "").trim();
|
|
8
13
|
const meta = {
|
|
9
14
|
from: message.from,
|
|
10
15
|
to: message.to,
|
|
11
16
|
subject: message.headers.get("subject") || "",
|
|
12
17
|
receivedAt: new Date().toISOString(),
|
|
13
18
|
size: message.rawSize,
|
|
19
|
+
messageId: messageId || undefined,
|
|
14
20
|
};
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
// 幂等 key:Message-ID(几乎所有真实邮件都带)优先,缺失才退化为整封 raw 的内容指纹。
|
|
22
|
+
// 同一封重投递 → 同一 digest → 覆盖同一 key,不再产生第二份。
|
|
23
|
+
const digest = await sha256hex(messageId || raw);
|
|
24
|
+
await env.EMAILS.put(message.to + "/" + digest, raw, { expirationTtl: 2592000, metadata: meta });
|
|
18
25
|
if (env.FORWARD_TO) { try { await message.forward(env.FORWARD_TO); } catch (e) {} }
|
|
19
26
|
// 入站 webhook(push):该地址配了 _webhook/<addr> 就 POST 信封过去(正文按需再拉)
|
|
20
27
|
try {
|
|
@@ -23,6 +30,11 @@ export default {
|
|
|
23
30
|
} catch (e) {}
|
|
24
31
|
}
|
|
25
32
|
};
|
|
33
|
+
|
|
34
|
+
async function sha256hex(s) {
|
|
35
|
+
const buf = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(s));
|
|
36
|
+
return Array.from(new Uint8Array(buf)).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
37
|
+
}
|
|
26
38
|
`;
|
|
27
39
|
export class CloudflareInbound {
|
|
28
40
|
cf;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare-inbound.js","sourceRoot":"","sources":["../../../src/providers/email/cloudflare-inbound.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAC;AAiBrC,MAAM,YAAY,GAAG,gBAAgB,CAAC;AACtC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"cloudflare-inbound.js","sourceRoot":"","sources":["../../../src/providers/email/cloudflare-inbound.ts"],"names":[],"mappings":"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"}
|