/** WmailHub 全局常量:邮件大小限制、TTL、Webhook 策略、签名头名称 */ /** # 成员变量: 默认邮件保留时长(秒),1 天 **/ export const DEFAULT_RETENTION_SECONDS = 86_400; /** # 成员变量: 单封邮件最大字节数(raw MIME),Cloudflare Email Worker 上限为 25MB,取保守值 20MB **/ export const MAX_EMAIL_BYTES = 20 * 1024 * 1024; /** # 成员变量: 单封邮件最大附件数 **/ export const MAX_ATTACHMENTS = 20; /** # 成员变量: 单个附件最大字节数 **/ export const MAX_ATTACHMENT_BYTES = 10 * 1024 * 1024; /** # 成员变量: MIME 头最大字节数 **/ export const MAX_MIME_HEADER_BYTES = 256 * 1024; /** # 成员变量: Webhook 单次投递超时(毫秒) **/ export const WEBHOOK_TIMEOUT_MS = 10_000; /** # 成员变量: Webhook 最大尝试次数 **/ export const WEBHOOK_MAX_ATTEMPTS = 5; /** # 成员变量: Webhook 首次重试退避(毫秒),之后指数递增 **/ export const WEBHOOK_RETRY_BASE_MS = 60_000; /** # 成员变量: Webhook 签名头 **/ export const WEBHOOK_HEADERS = { event: "X-WmailHub-Event", delivery: "X-WmailHub-Delivery", timestamp: "X-WmailHub-Timestamp", signature: "X-WmailHub-Signature", } as const; /** # 成员变量: Email Worker 本地测试入口请求头(Worker secret 验证) **/ export const WORKER_TEST_SECRET_HEADER = "X-WmailHub-Test-Secret"; /** # 成员变量: Worker -> Console 信封传递请求头 **/ export const WORKER_ENVELOPE_HEADERS = { recipient: "X-WmailHub-Recipient", sender: "X-WmailHub-Sender", } as const;