@visulima/email 1.0.0-alpha.34 → 1.0.0-alpha.36
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 +53 -0
- package/LICENSE.md +57 -0
- package/README.md +96 -0
- package/dist/crypto/index.d.ts +160 -3
- package/dist/crypto/index.js +1 -1
- package/dist/deliverability/dmarc-report.d.ts +95 -0
- package/dist/deliverability/dmarc-report.js +1 -0
- package/dist/deliverability/index.d.ts +360 -0
- package/dist/deliverability/index.js +1 -0
- package/dist/events/index.d.ts +31 -0
- package/dist/events/index.js +1 -0
- package/dist/inbound/index.d.ts +375 -0
- package/dist/inbound/index.js +1 -0
- package/dist/index.d.ts +12 -734
- package/dist/index.js +1 -1
- package/dist/middleware/index.d.ts +346 -0
- package/dist/middleware/index.js +1 -0
- package/dist/packem_shared/ALL_EVENTS-3kwh5CBE.js +1 -0
- package/dist/packem_shared/DkimSigner-BuSbnos1.js +18 -0
- package/dist/packem_shared/DraftMailMessage-C9tevR8K.js +1 -0
- package/dist/packem_shared/EmailError-B-sEf3bp.js +1 -0
- package/dist/packem_shared/Mail-DpjH0Exh.js +1 -0
- package/dist/packem_shared/MailMessage-L-Q9yc5v.js +1 -0
- package/dist/packem_shared/MemoryEventStore-CuhfO9aj.js +1 -0
- package/dist/packem_shared/MemoryQueue-Dl1Fa6OJ.js +1 -0
- package/dist/packem_shared/MemorySuppressionStore-DZnbz-_B.js +1 -0
- package/dist/packem_shared/RATE_LIMIT_PRESETS-BPADLgcA.js +1 -0
- package/dist/packem_shared/RequiredOptionError-DuNNY_a5.js +1 -0
- package/dist/packem_shared/SmimeEncrypter-C7usORKF.js +6 -0
- package/dist/packem_shared/SmimeSigner-DgAApLPS.js +8 -0
- package/dist/packem_shared/addDarkModeSupport-DZYxULjl.js +1 -0
- package/dist/packem_shared/address-formatter-BWR2Dddx.js +1 -0
- package/dist/packem_shared/aggregate-features-BqEjPd42.js +1 -0
- package/dist/packem_shared/ahaSendProvider-Dq5mElHZ.js +1 -0
- package/dist/packem_shared/arcMessageSignatureBase-BY4j0TxM.js +17 -0
- package/dist/packem_shared/attachment-processor-BjTNoMyb.js +1 -0
- package/dist/packem_shared/awsSesProvider-BGZJUIep.js +32 -0
- package/dist/packem_shared/azureProvider-DlM6UWUv.js +1 -0
- package/dist/packem_shared/brevoProvider-D_Hhc0Z-.js +1 -0
- package/dist/packem_shared/build-mime-message-Be6TOi1T.js +3 -0
- package/dist/packem_shared/buildListUnsubscribe-Cdr8MvR_.js +1 -0
- package/dist/packem_shared/buildMtaStsPolicy-oEQg8y_C.js +6 -0
- package/dist/packem_shared/circuitBreakerMiddleware-D2SA_07f.js +1 -0
- package/dist/packem_shared/cloudflareEmailProvider-D4adkOjA.js +1 -0
- package/dist/packem_shared/composeMiddleware-BHwLLEzK.js +1 -0
- package/dist/packem_shared/create-logger-BQTS3f-I.js +1 -0
- package/dist/packem_shared/createSuppressionStore-CeAZKCbY.js +1 -0
- package/dist/packem_shared/createTestEmail-BM3iNznm.js +1 -0
- package/dist/packem_shared/createWorker-_-yMWcNQ.js +1 -0
- package/dist/packem_shared/dedupeMiddleware-B6ajWOTi.js +1 -0
- package/dist/packem_shared/defineInboundHandler-CnL2BzlL.js +1 -0
- package/dist/packem_shared/defineProvider-C9q-7iwt.js +1 -0
- package/dist/packem_shared/detectMimeType-Dxv4MjZ7.js +1 -0
- package/dist/packem_shared/emailMatchers-DZDkrZ_3.js +1 -0
- package/dist/packem_shared/event-bus.d-DEl3w_EW.d.ts +104 -0
- package/dist/packem_shared/extractCidReferences-BuoTREMp.js +1 -0
- package/dist/packem_shared/extractReply-BUjIBt9A.js +5 -0
- package/dist/packem_shared/failoverProvider-BgX6zfnY.js +1 -0
- package/dist/packem_shared/format-address-DTl-9O70.js +1 -0
- package/dist/packem_shared/generate-boundary-DQbzDiOI.js +1 -0
- package/dist/packem_shared/generate-message-id-gXAuMz4g.js +1 -0
- package/dist/packem_shared/headers-to-record-De1Eg951.js +1 -0
- package/dist/packem_shared/httpProvider-DJAsYSun.js +1 -0
- package/dist/packem_shared/index-yDU-1zOZ.js +11 -0
- package/dist/packem_shared/infobipProvider-oOL-ThpP.js +1 -0
- package/dist/packem_shared/injectPreheader-CF9WHZ7J.js +1 -0
- package/dist/packem_shared/inlineCss-BQ7d2Cyz.js +1 -0
- package/dist/packem_shared/isValidSigningCertUrl-Bii1AMGC.js +3 -0
- package/dist/packem_shared/loggingMiddleware-CZIiVMVp.js +1 -0
- package/dist/packem_shared/loopsProvider-BXr0KSjB.js +1 -0
- package/dist/packem_shared/mail.d-B9SSqyy0.d.ts +909 -0
- package/dist/packem_shared/{mailCrabProvider-B7H6HwWu.js → mailCrabProvider-C7Ao5H9p.js} +1 -1
- package/dist/packem_shared/mailPaceProvider-DklGeGEM.js +1 -0
- package/dist/packem_shared/mailchannelsProvider-DPfQVzUd.js +1 -0
- package/dist/packem_shared/mailerSendProvider-B8iT5Uhb.js +1 -0
- package/dist/packem_shared/mailgunProvider-Ctyrs9d0.js +1 -0
- package/dist/packem_shared/mailjetProvider-v55nFDsr.js +1 -0
- package/dist/packem_shared/mailomatProvider-BCyB4Q4B.js +1 -0
- package/dist/packem_shared/mailtrapProvider-DcVw3sxR.js +1 -0
- package/dist/packem_shared/make-request-BlK_B72c.js +1 -0
- package/dist/packem_shared/mandrillProvider-gqMFMwgs.js +1 -0
- package/dist/packem_shared/mockProvider-Behywbl1.js +1 -0
- package/dist/packem_shared/nodemailerProvider-BFHobXxt.js +1 -0
- package/dist/packem_shared/normalizeMessageId-DAx2pGe2.js +1 -0
- package/dist/packem_shared/oauth2Middleware-CodqXkyj.js +1 -0
- package/dist/packem_shared/opentelemetryProvider-ByHC01ub.js +1 -0
- package/dist/packem_shared/parseAddress-DdbViBAJ.js +1 -0
- package/dist/packem_shared/parseArfReport-Ds6S3c4J.js +6 -0
- package/dist/packem_shared/parseCloudflareInbound-C__j-oNa.js +1 -0
- package/dist/packem_shared/parseDmarcRecord-DXZ-_rF0.js +1 -0
- package/dist/packem_shared/parseMailgunInbound-BpC6uPNe.js +1 -0
- package/dist/packem_shared/parsePostmarkInbound-Co3_c6-9.js +1 -0
- package/dist/packem_shared/parseSendGridInbound-DsALoijO.js +4 -0
- package/dist/packem_shared/parseSesInbound-CH5tHIjp.js +1 -0
- package/dist/packem_shared/parseTlsReport-wPe1lIDs.js +1 -0
- package/dist/packem_shared/plunkProvider-C0LO-1E3.js +1 -0
- package/dist/packem_shared/postProcessHtml-DqKi2Ucg.js +1 -0
- package/dist/packem_shared/postalProvider-B26IqgxE.js +1 -0
- package/dist/packem_shared/postmarkProvider-DWQJv5_M.js +1 -0
- package/dist/packem_shared/provider-base-gIoUu9so.js +1 -0
- package/dist/packem_shared/{provider.d-DcfYeGJJ.d.ts → provider.d-J-y6iogK.d.ts} +1 -1
- package/dist/packem_shared/quoted-printable-nSGDA1tA.js +7 -0
- package/dist/packem_shared/resendProvider-DhvKVyCD.js +1 -0
- package/dist/packem_shared/retry-3pnxTuNs.js +1 -0
- package/dist/packem_shared/retryMiddleware-DbViDX4r.js +1 -0
- package/dist/packem_shared/roundRobinProvider-D1by5KGW.js +1 -0
- package/dist/packem_shared/sanitize-header-DJhgZl3y.js +1 -0
- package/dist/packem_shared/scalewayProvider-D8dmHuwZ.js +1 -0
- package/dist/packem_shared/sendGridProvider-CChhLr7s.js +1 -0
- package/dist/packem_shared/smtpProvider-x4WBN-3W.js +25 -0
- package/dist/packem_shared/sweegoProvider-7xhOvagC.js +1 -0
- package/dist/packem_shared/toEmailSnapshot-DeRqM5SJ.js +1 -0
- package/dist/packem_shared/tracer.d-MU42G1jG.d.ts +494 -0
- package/dist/packem_shared/{types.d-CNnnk-Ya.d.ts → types.d-BId55FW2.d.ts} +6 -1
- package/dist/packem_shared/types.d-CmoWvdZi.d.ts +61 -0
- package/dist/packem_shared/types.d-DCkecJse.d.ts +51 -0
- package/dist/packem_shared/types.d-Mpu0HZoG.d.ts +24 -0
- package/dist/packem_shared/{types.d-wwpgA3to.d.ts → types.d-ejzh-xBP.d.ts} +6 -1
- package/dist/packem_shared/types.d-lcJZmwRK.d.ts +69 -0
- package/dist/packem_shared/utils-BfYfPB_I.js +1 -0
- package/dist/packem_shared/validate-email-options-mCM9dVug.js +1 -0
- package/dist/packem_shared/verifyMailgunWebhook-Cwl0OD3P.js +1 -0
- package/dist/packem_shared/verifyPostmarkWebhook-C72ZvbrG.js +1 -0
- package/dist/packem_shared/verifyResendWebhook-YK2zNDXR.js +1 -0
- package/dist/packem_shared/verifySendGridWebhook-Dbwc1tfG.js +1 -0
- package/dist/packem_shared/withEvents-CCVblSqj.js +1 -0
- package/dist/packem_shared/withMetrics-DWywX_6M.js +1 -0
- package/dist/packem_shared/withRender-VP9wE5Yr.js +1 -0
- package/dist/packem_shared/withSuppression-DBaZDMAr.js +1 -0
- package/dist/packem_shared/withTelemetry-DL2qo0Hp.js +1 -0
- package/dist/packem_shared/zeptomailProvider-D3nQKXRf.js +1 -0
- package/dist/providers/ahasend/index.d.ts +3 -3
- package/dist/providers/ahasend/index.js +1 -1
- package/dist/providers/aws-ses/index.d.ts +3 -3
- package/dist/providers/aws-ses/index.js +1 -1
- package/dist/providers/azure/index.d.ts +3 -3
- package/dist/providers/azure/index.js +1 -1
- package/dist/providers/brevo/index.d.ts +3 -3
- package/dist/providers/brevo/index.js +1 -1
- package/dist/providers/cloudflare-email/index.d.ts +36 -0
- package/dist/providers/cloudflare-email/index.js +1 -0
- package/dist/providers/failover/index.d.ts +3 -3
- package/dist/providers/failover/index.js +1 -1
- package/dist/providers/http/index.d.ts +3 -3
- package/dist/providers/http/index.js +1 -1
- package/dist/providers/infobip/index.d.ts +3 -3
- package/dist/providers/infobip/index.js +1 -1
- package/dist/providers/loops/index.d.ts +47 -0
- package/dist/providers/loops/index.js +1 -0
- package/dist/providers/mailchannels/index.d.ts +26 -0
- package/dist/providers/mailchannels/index.js +1 -0
- package/dist/providers/mailcrab/index.d.ts +3 -3
- package/dist/providers/mailcrab/index.js +1 -1
- package/dist/providers/mailersend/index.d.ts +3 -3
- package/dist/providers/mailersend/index.js +1 -1
- package/dist/providers/mailgun/index.d.ts +3 -3
- package/dist/providers/mailgun/index.js +1 -1
- package/dist/providers/mailjet/index.d.ts +3 -3
- package/dist/providers/mailjet/index.js +1 -1
- package/dist/providers/mailomat/index.d.ts +3 -3
- package/dist/providers/mailomat/index.js +1 -1
- package/dist/providers/mailpace/index.d.ts +3 -3
- package/dist/providers/mailpace/index.js +1 -1
- package/dist/providers/mailtrap/index.d.ts +3 -3
- package/dist/providers/mailtrap/index.js +1 -1
- package/dist/providers/mandrill/index.d.ts +3 -3
- package/dist/providers/mandrill/index.js +1 -1
- package/dist/providers/mock/index.d.ts +6 -53
- package/dist/providers/mock/index.js +1 -1
- package/dist/providers/nodemailer/index.d.ts +3 -3
- package/dist/providers/nodemailer/index.js +1 -1
- package/dist/providers/opentelemetry/index.d.ts +3 -495
- package/dist/providers/opentelemetry/index.js +1 -1
- package/dist/providers/plunk/index.d.ts +3 -3
- package/dist/providers/plunk/index.js +1 -1
- package/dist/providers/postal/index.d.ts +3 -3
- package/dist/providers/postal/index.js +1 -1
- package/dist/providers/postmark/index.d.ts +3 -3
- package/dist/providers/postmark/index.js +1 -1
- package/dist/providers/resend/index.d.ts +3 -3
- package/dist/providers/resend/index.js +1 -1
- package/dist/providers/roundrobin/index.d.ts +3 -3
- package/dist/providers/roundrobin/index.js +1 -1
- package/dist/providers/scaleway/index.d.ts +3 -3
- package/dist/providers/scaleway/index.js +1 -1
- package/dist/providers/sendgrid/index.d.ts +3 -3
- package/dist/providers/sendgrid/index.js +1 -1
- package/dist/providers/smtp/index.d.ts +3 -3
- package/dist/providers/smtp/index.js +1 -1
- package/dist/providers/sweego/index.d.ts +3 -3
- package/dist/providers/sweego/index.js +1 -1
- package/dist/providers/zeptomail/index.d.ts +3 -3
- package/dist/providers/zeptomail/index.js +1 -1
- package/dist/queue/bullmq-queue.d.ts +46 -0
- package/dist/queue/bullmq-queue.js +1 -0
- package/dist/queue/index.d.ts +147 -0
- package/dist/queue/index.js +1 -0
- package/dist/queue/pg-boss-queue.d.ts +41 -0
- package/dist/queue/pg-boss-queue.js +1 -0
- package/dist/queue/sqs-queue.d.ts +72 -0
- package/dist/queue/sqs-queue.js +1 -0
- package/dist/queue/unstorage-queue.d.ts +199 -0
- package/dist/queue/unstorage-queue.js +1 -0
- package/dist/render/index.d.ts +107 -0
- package/dist/render/index.js +1 -0
- package/dist/template-engines/handlebars.js +1 -1
- package/dist/template-engines/html-to-text.js +1 -1
- package/dist/template-engines/i18n.d.ts +61 -0
- package/dist/template-engines/i18n.js +1 -0
- package/dist/template-engines/jsx-email.d.ts +11 -0
- package/dist/template-engines/jsx-email.js +1 -0
- package/dist/template-engines/liquid.d.ts +12 -0
- package/dist/template-engines/liquid.js +1 -0
- package/dist/template-engines/mjml.js +1 -1
- package/dist/template-engines/react-email.js +1 -1
- package/dist/template-engines/vue-email.js +1 -1
- package/dist/test/index.d.ts +159 -0
- package/dist/test/index.js +1 -0
- package/dist/utils/cache.js +1 -1
- package/dist/utils/format-email-address.d.ts +1 -1
- package/dist/utils/format-email-address.js +1 -1
- package/dist/utils/normalize-email-aliases.js +1 -1
- package/dist/utils/parse-address.d.ts +1 -1
- package/dist/utils/parse-address.js +1 -1
- package/dist/utils/parse-eml.d.ts +22 -0
- package/dist/utils/parse-eml.js +6 -0
- package/dist/utils/result.d.ts +49 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/validation/check-feature-support.d.ts +1 -1
- package/dist/utils/validation/check-feature-support.js +1 -1
- package/dist/utils/validation/check-mx-records.d.ts +1 -1
- package/dist/utils/validation/check-mx-records.js +1 -1
- package/dist/utils/validation/role-accounts.js +1 -1
- package/dist/utils/validation/validate-email.js +1 -1
- package/dist/utils/validation/verify-email.js +1 -1
- package/dist/utils/validation/verify-smtp.js +4 -4
- package/dist/webhooks/index.d.ts +231 -0
- package/dist/webhooks/index.js +1 -0
- package/package.json +122 -6
- package/dist/packem_shared/DkimSigner-CT2DSHD1.js +0 -18
- package/dist/packem_shared/EmailError-zm2ffVav.js +0 -1
- package/dist/packem_shared/Mail-BWSWWq6m.js +0 -1
- package/dist/packem_shared/MailMessage-BvaH5tZZ.js +0 -1
- package/dist/packem_shared/RequiredOptionError-CevW3u2K.js +0 -1
- package/dist/packem_shared/SmimeEncrypter-ZhHEgDwY.js +0 -6
- package/dist/packem_shared/SmimeSigner-CYSVF6ez.js +0 -8
- package/dist/packem_shared/address-formatter-Cm_E_ZMa.js +0 -1
- package/dist/packem_shared/aggregate-features-BvgdYul-.js +0 -1
- package/dist/packem_shared/ahaSendProvider-DOAAW65O.js +0 -1
- package/dist/packem_shared/attachment-processor-DsmIomKc.js +0 -1
- package/dist/packem_shared/awsSesProvider-DX1630Ms.js +0 -32
- package/dist/packem_shared/azureProvider-EkNYKAiF.js +0 -1
- package/dist/packem_shared/brevoProvider-CkR4U4RD.js +0 -1
- package/dist/packem_shared/build-mime-message-6xstxaUV.js +0 -2
- package/dist/packem_shared/create-logger-BiWdqFNg.js +0 -1
- package/dist/packem_shared/defineProvider-CtLH0VBE.js +0 -1
- package/dist/packem_shared/detectMimeType-bo5oxfnt.js +0 -1
- package/dist/packem_shared/failoverProvider-D90MHT2T.js +0 -1
- package/dist/packem_shared/generate-boundary-Cx8nXYS0.js +0 -1
- package/dist/packem_shared/generate-message-id-D4uA8gkj.js +0 -1
- package/dist/packem_shared/headers-to-record-Qo124ImV.js +0 -1
- package/dist/packem_shared/httpProvider-DUg1AQfO.js +0 -1
- package/dist/packem_shared/infobipProvider-BhTsWi7e.js +0 -1
- package/dist/packem_shared/mailPaceProvider-DRt6Z9Hr.js +0 -1
- package/dist/packem_shared/mailerSendProvider-Dx_iHInH.js +0 -1
- package/dist/packem_shared/mailgunProvider-ChkLGZZW.js +0 -1
- package/dist/packem_shared/mailjetProvider-BMRhNe6H.js +0 -1
- package/dist/packem_shared/mailomatProvider-CydV-JB6.js +0 -1
- package/dist/packem_shared/mailtrapProvider-CuAfJWDr.js +0 -1
- package/dist/packem_shared/make-request-CaT4d5oC.js +0 -1
- package/dist/packem_shared/mandrillProvider-BBeLbaw0.js +0 -1
- package/dist/packem_shared/mockProvider-C0P1lKOy.js +0 -1
- package/dist/packem_shared/nodemailerProvider-DFcvoVFv.js +0 -1
- package/dist/packem_shared/opentelemetryProvider-Dwv88G3O.js +0 -1
- package/dist/packem_shared/plunkProvider-BQyjG6YT.js +0 -1
- package/dist/packem_shared/postalProvider-DPHQ620q.js +0 -1
- package/dist/packem_shared/postmarkProvider-bMTC2gdJ.js +0 -1
- package/dist/packem_shared/provider-base-Cmzx6BTO.js +0 -1
- package/dist/packem_shared/readFile-BAVMZg5e-C4whBIPd.js +0 -1
- package/dist/packem_shared/resendProvider-Cns1tvF5.js +0 -1
- package/dist/packem_shared/roundRobinProvider-B_60F0BC.js +0 -1
- package/dist/packem_shared/sanitize-header-wWav-Scu.js +0 -1
- package/dist/packem_shared/scalewayProvider-O1dHz7iJ.js +0 -1
- package/dist/packem_shared/sendGridProvider-DmywC-eT.js +0 -1
- package/dist/packem_shared/smtpProvider-Unjao_fn.js +0 -23
- package/dist/packem_shared/sweegoProvider-D086G6xG.js +0 -1
- package/dist/packem_shared/validate-email-options-DPo3SgC0.js +0 -1
- package/dist/packem_shared/zeptomailProvider-DKKEpEsW.js +0 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { E as EmailOptions } from "./types.d-ejzh-xBP.js";
|
|
2
|
+
/**
|
|
3
|
+
* A queued email job.
|
|
4
|
+
*/
|
|
5
|
+
interface QueueJob {
|
|
6
|
+
/**
|
|
7
|
+
* Number of delivery attempts so far.
|
|
8
|
+
*/
|
|
9
|
+
attempts: number;
|
|
10
|
+
/**
|
|
11
|
+
* Unique job id.
|
|
12
|
+
*/
|
|
13
|
+
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* The message to send.
|
|
16
|
+
*/
|
|
17
|
+
message: EmailOptions;
|
|
18
|
+
/**
|
|
19
|
+
* Earliest time (ms since epoch) the job may be delivered. Used for `scheduledAt` and retry backoff.
|
|
20
|
+
*/
|
|
21
|
+
scheduledAt: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options when enqueueing a message.
|
|
25
|
+
*/
|
|
26
|
+
interface EnqueueOptions {
|
|
27
|
+
/**
|
|
28
|
+
* Deliver no earlier than this time. Accepts a `Date` or epoch milliseconds.
|
|
29
|
+
*/
|
|
30
|
+
scheduledAt?: Date | number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A durable email queue. The in-memory default (`MemoryQueue`) implements this; adapters can
|
|
34
|
+
* back it with Redis/BullMQ, pg-boss, SQS, or `unstorage`.
|
|
35
|
+
*
|
|
36
|
+
* Delivery is reserve → ack/retry: {@link EmailQueue.reserve} hands out a job and hides it for a
|
|
37
|
+
* visibility window; the worker then {@link EmailQueue.ack}s it on success or {@link EmailQueue.retry}s
|
|
38
|
+
* it on failure.
|
|
39
|
+
*/
|
|
40
|
+
interface EmailQueue {
|
|
41
|
+
/**
|
|
42
|
+
* Marks a reserved job as successfully processed and removes it.
|
|
43
|
+
* @param id The job id.
|
|
44
|
+
*/
|
|
45
|
+
ack: (id: string) => Promise<void> | void;
|
|
46
|
+
/**
|
|
47
|
+
* Adds a message to the queue.
|
|
48
|
+
* @param message The message to send later.
|
|
49
|
+
* @param options Optional scheduling. See {@link EnqueueOptions}.
|
|
50
|
+
* @returns The new job id.
|
|
51
|
+
*/
|
|
52
|
+
enqueue: (message: EmailOptions, options?: EnqueueOptions) => Promise<string> | string;
|
|
53
|
+
/**
|
|
54
|
+
* Reserves the next ready job, hiding it from other workers for a visibility window.
|
|
55
|
+
* @returns The next job, or `undefined` when none is ready.
|
|
56
|
+
*/
|
|
57
|
+
reserve: () => (QueueJob | undefined) | Promise<QueueJob | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* Returns a reserved job to the queue, optionally after a delay, incrementing its attempt count.
|
|
60
|
+
* @param id The job id.
|
|
61
|
+
* @param delayMs Milliseconds to wait before the job becomes ready again.
|
|
62
|
+
*/
|
|
63
|
+
retry: (id: string, delayMs?: number) => Promise<void> | void;
|
|
64
|
+
/**
|
|
65
|
+
* The number of jobs not yet acked (ready + reserved).
|
|
66
|
+
*/
|
|
67
|
+
size: () => number | Promise<number>;
|
|
68
|
+
}
|
|
69
|
+
export { EnqueueOptions as E, QueueJob as Q, EmailQueue as a };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as c}from"node:module";const f=c(import.meta.url),r=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,a=e=>{if(typeof r<"u"&&r.versions&&r.versions.node){const[t,o]=r.versions.node.split(".").map(Number);if(t>22||t===22&&o>=3||t===20&&o>=16)return r.getBuiltinModule(e)}return f(e)},{Buffer:i}=a("node:buffer"),{timingSafeEqual:u}=a("node:crypto"),d=(e,t)=>{if(e instanceof Headers)return e.get(t)??void 0;const o=t.toLowerCase();for(const[s,n]of Object.entries(e))if(s.toLowerCase()===o)return Array.isArray(n)?n[0]:n},g=(e,t)=>{const o=i.from(e),s=i.from(t);return o.length!==s.length?!1:u(o,s)},m=(e,t,o=Date.now())=>t<=0?!0:Number.isFinite(e)?Math.abs(o/1e3-e)<=t:!1;export{d as g,m as i,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import l from"../utils/validation/validate-email.js";const a=i=>{const r=[];i.from?.email||r.push("Missing required field: from"),i.to||r.push("Missing required field: to"),i.subject||r.push("Missing required field: subject"),!i.text&&!i.html&&r.push("Either text or html content is required"),i.from&&i.from.email&&!l(i.from.email)&&r.push(`Invalid from email address: ${i.from.email}`);const e=(s,m)=>{s&&(Array.isArray(s)?s:[s]).forEach(o=>{l(o.email)||r.push(`Invalid ${m} email address: ${o.email}`)})};return e(i.to,"to"),e(i.cc,"cc"),e(i.bcc,"bcc"),i.replyTo&&!l(i.replyTo.email)&&r.push(`Invalid replyTo email address: ${i.replyTo.email}`),r};export{a as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as m}from"node:module";import{i as d,t as g}from"./utils-BfYfPB_I.js";const l=m(import.meta.url),t=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=s=>{if(typeof t<"u"&&t.versions&&t.versions.node){const[e,r]=t.versions.node.split(".").map(Number);if(e>22||e===22&&r>=3||e===20&&r>=16)return t.getBuiltinModule(s)}return l(s)},{createHmac:f}=p("node:crypto"),b=s=>{const{now:e,signature:r,signingKey:o,timestamp:i,token:n,tolerance:a=300}=s,c=typeof i=="number"?i:Number.parseInt(i,10);if(!d(c,a,e))return{reason:"timestamp-out-of-tolerance",valid:!1};const u=f("sha256",o).update(`${String(i)}${n}`).digest("hex");return g(r,u)?{valid:!0}:{reason:"signature-mismatch",valid:!1}};export{b as verifyMailgunWebhook};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as a}from"node:module";import{t as l}from"./utils-BfYfPB_I.js";const c=a(import.meta.url),s=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,u=r=>{if(typeof s<"u"&&s.versions&&s.versions.node){const[e,t]=s.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return s.getBuiltinModule(r)}return c(r)},{Buffer:f}=u("node:buffer"),p=r=>{const{authorization:e,password:t,username:o}=r;if(!e?.startsWith("Basic "))return{reason:"missing-credentials",valid:!1};const i=f.from(e.slice(6),"base64").toString("utf8"),n=`${o}:${t}`;return l(i,n)?{valid:!0}:{reason:"credentials-mismatch",valid:!1}};export{p as verifyPostmarkWebhook};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as _}from"node:module";import{g as t,i as k,t as w}from"./utils-BfYfPB_I.js";const y=_(import.meta.url),o=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=e=>{if(typeof o<"u"&&o.versions&&o.versions.node){const[s,r]=o.versions.node.split(".").map(Number);if(s>22||s===22&&r>=3||s===20&&r>=16)return o.getBuiltinModule(e)}return y(e)},{Buffer:u}=f("node:buffer"),{createHmac:j}=f("node:crypto"),T="v1",W=e=>e.startsWith("whsec_")?u.from(e.slice(6),"base64"):u.from(e,"utf8"),q=e=>{const{headers:s,now:r,payload:l,secret:d,tolerance:m=300}=e,n=t(s,"webhook-id")??t(s,"svix-id"),i=t(s,"webhook-timestamp")??t(s,"svix-timestamp"),a=t(s,"webhook-signature")??t(s,"svix-signature");if(!n||!i||!a)return{reason:"missing-headers",valid:!1};const p=Number.parseInt(i,10);if(!k(p,m,r))return{reason:"timestamp-out-of-tolerance",valid:!1};const g=`${n}.${i}.${l}`,h=j("sha256",W(d)).update(g).digest("base64");return a.split(" ").some(b=>{const[v,c]=b.split(",");return v!==T||!c?!1:w(c,h)})?{valid:!0}:{reason:"signature-mismatch",valid:!1}},B=e=>q(e);export{B as verifyResendWebhook,q as verifyStandardWebhook};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as y}from"node:module";import _ from"./EmailError-B-sEf3bp.js";import{i as g}from"./utils-BfYfPB_I.js";const b=y(import.meta.url),o=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=e=>{if(typeof o<"u"&&o.versions&&o.versions.node){const[r,s]=o.versions.node.split(".").map(Number);if(r>22||r===22&&s>=3||r===20&&s>=16)return o.getBuiltinModule(e)}return b(e)},{Buffer:i}=f("node:buffer"),{verify:h,createPublicKey:l}=f("node:crypto"),v=e=>e.includes("-----BEGIN")?l(e):l({format:"der",key:i.from(e,"base64"),type:"spki"}),w=e=>{const{now:r,payload:s,publicKey:d,signature:n,timestamp:t,tolerance:u=300}=e;if(!n||!t)return{reason:"missing-headers",valid:!1};let a;try{a=v(d)}catch(p){throw new _("webhooks","Failed to parse SendGrid verification key",{cause:p})}const m=i.from(t+s,"utf8");let c;try{c=h("sha256",m,{dsaEncoding:"der",key:a},i.from(n,"base64"))}catch{return{reason:"signature-malformed",valid:!1}}return c?g(Number.parseInt(t,10),u,r)?{valid:!0}:{reason:"timestamp-out-of-tolerance",valid:!1}:{reason:"signature-mismatch",valid:!1}};export{w as verifySendGridWebhook};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createRequire as d}from"node:module";const p=d(import.meta.url),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,m=e=>{if(typeof i<"u"&&i.versions&&i.versions.node){const[s,r]=i.versions.node.split(".").map(Number);if(s>22||s===22&&r>=3||s===20&&r>=16)return i.getBuiltinModule(e)}return p(e)},{randomUUID:u}=m("node:crypto"),l=e=>(Array.isArray(e)?e[0]:e)?.email,f=(e,s={})=>{const{idFactory:r=u,now:o=Date.now}=s;return async(a,c)=>{const n=l(a.to);e.emit({id:r(),recipient:n,timestamp:new Date(o()),type:"queued"});const t=await c(a);return t.success?e.emit({id:r(),messageId:t.data?.messageId,provider:t.data?.provider,recipient:n,timestamp:new Date(o()),type:"sent"}):e.emit({data:{error:t.error instanceof Error?t.error.message:String(t.error)},id:r(),recipient:n,timestamp:new Date(o()),type:"failed"}),t}};export{f as withEvents};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const i=(e,r={})=>{const s=r.prefix??"email_";return async(a,o)=>{const c=Date.now(),t=await o(a),n={provider:t.data?.provider??"unknown",status:t.success?"success":"failure"};return e.increment(`${s}sent_total`,n),e.observe(`${s}duration_ms`,Date.now()-c,n),t}};export{i as withMetrics};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const s=a=>async(t,o)=>o(await a(t));export{s as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{filterSuppressed as d}from"./createSuppressionStore-CeAZKCbY.js";import w from"./EmailError-B-sEf3bp.js";const u=(o,c={})=>async(e,p)=>{const t={allowed:[],suppressed:[]},r=await d(e.to,o),l=e.cc?await d(e.cc,o):t,s=e.bcc?await d(e.bcc,o):t,a=[...r.suppressed,...l.suppressed,...s.suppressed];return a.length>0&&c.onSuppressed?.(a),r.allowed.length===0&&l.allowed.length===0&&s.allowed.length===0?{error:new w("middleware","All recipients are suppressed",{code:"ALL_SUPPRESSED"}),success:!1}:p({...e,bcc:s.allowed.length>0?s.allowed:void 0,cc:l.allowed.length>0?l.allowed:void 0,to:r.allowed})};export{u as withSuppression};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const c=(r,a={})=>{const i=a.spanName??"email.send";return async(s,n)=>r.startActiveSpan(i,async t=>{t.setAttribute("email.recipients",Array.isArray(s.to)?s.to.length:1);try{const e=await n(s);return t.setAttribute("email.success",e.success),e.data?.provider&&t.setAttribute("email.provider",e.data.provider),e.success||t.setStatus({code:2,message:e.error instanceof Error?e.error.message:"send failed"}),e}catch(e){throw e instanceof Error&&t.recordException(e),t.setStatus({code:2,message:e instanceof Error?e.message:"send failed"}),e}finally{t.end()}})};export{c as withTelemetry};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import l from"./EmailError-B-sEf3bp.js";import y from"./RequiredOptionError-DuNNY_a5.js";import{e as b}from"./generate-message-id-gXAuMz4g.js";import{s as k}from"./headers-to-record-De1Eg951.js";import{m as v}from"./make-request-BlK_B72c.js";import{u as w}from"./retry-3pnxTuNs.js";import{a as A,s as z}from"./sanitize-header-DJhgZl3y.js";import{f as _}from"./validate-email-options-mCM9dVug.js";import{defineProvider as j}from"./defineProvider-C9q-7iwt.js";import{P,h as I,c as T}from"./provider-base-gIoUu9so.js";import{n as h}from"./address-formatter-BWR2Dddx.js";const i="zeptomail",O="https://api.zeptomail.com/v1.1",Z=3e4,E=3,L=j((s={})=>{if(!s.token)throw new y(i,"token");if(!s.token.startsWith("Zoho-enczapikey "))throw new l(i,'Token should be in the format "Zoho-enczapikey <your_api_key>"');const o={debug:s.debug??!1,endpoint:s.endpoint??O,logger:s.logger,retries:s.retries??E,timeout:s.timeout??Z,token:s.token},u=new P,n=T(i,s.logger);return{features:{attachments:!0,batchSending:!1,customHeaders:!0,html:!0,replyTo:!0,scheduling:!1,tagging:!1,templates:!1,tracking:!0},async initialize(){await u.ensureInitialized(async()=>{if(!await this.isAvailable())throw new l(i,"Zeptomail API not available or invalid token");n.debug("Provider initialized successfully")},i)},async isAvailable(){try{return o.token&&o.token.startsWith("Zoho-enczapikey ")?(n.debug("Token format is valid, assuming Zeptomail is available"),!0):!1}catch(e){return n.debug("Error checking availability:",e),!1}},name:i,options:o,async sendEmail(e){try{const m=_(e);if(m.length>0)return{error:new l(i,`Invalid email options: ${m.join(", ")}`),success:!1};await u.ensureInitialized(()=>this.initialize(),i);const a={from:h(e.from).address,subject:e.subject};if(Array.isArray(e.to)?a.to=e.to.length===1?e.to[0].email:e.to.map(t=>t.email):a.to=e.to.email,e.text&&(a.textbody=e.text),e.html&&(a.htmlbody=e.html),e.cc&&(Array.isArray(e.cc)?a.cc=e.cc.length===1?e.cc[0].email:e.cc.map(t=>t.email):a.cc=e.cc.email),e.bcc&&(Array.isArray(e.bcc)?a.bcc=e.bcc.length===1?e.bcc[0].email:e.bcc.map(t=>t.email):a.bcc=e.bcc.email),e.replyTo&&(a.reply_to=[h(e.replyTo).address]),e.trackClicks!==void 0&&(a.track_clicks=e.trackClicks),e.trackOpens!==void 0&&(a.track_opens=e.trackOpens),e.clientReference&&(a.client_reference=e.clientReference),e.mimeHeaders&&Object.keys(e.mimeHeaders).length>0){const t={};for(const[r,d]of Object.entries(e.mimeHeaders))t[r]=d;a.mime_headers=t}if(e.headers){const t=k(e.headers);Object.keys(t).length>0&&(a.mime_headers??={},Object.entries(t).forEach(([r,d])=>{a.mime_headers&&(a.mime_headers[A(r)]=z(d))}))}e.attachments&&e.attachments.length>0&&(a.attachments=e.attachments.map(t=>{const r={name:t.filename};return t.content?(r.content=typeof t.content=="string"?t.content:t.content.toString("base64"),t.contentType&&(r.mime_type=t.contentType)):t.path&&(r.file_cache_key=t.path),r})),n.debug("Sending email via Zeptomail API",{subject:a.subject,to:a.to});const g={Accept:"application/json",Authorization:o.token,"Content-Type":"application/json"},c=await w(async()=>v(`${o.endpoint}/email`,{headers:g,method:"POST",timeout:o.timeout},JSON.stringify(a)),o.retries);if(!c.success){n.debug("API request failed",c.error);let t=c.error instanceof Error?c.error.message:"Unknown error";const r=c.data;return r?.body?.message?t+=` Details: ${r.body.message}`:r?.body?.error?.message&&(t+=` Details: ${r.body.error.message}`),{error:new l(i,`Failed to send email: ${t}`,{cause:c.error}),success:!1}}const p=c.data?.body,f=p?.request_id??b();return n.debug("Email sent successfully",{messageId:f}),{data:{messageId:f,provider:i,response:p,sent:!0,timestamp:new Date},success:!0}}catch(m){return{error:I(i,"send email",m,n),success:!1}}},async validateCredentials(){return this.isAvailable()}}});export{L as default};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* AhaSend configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as r}from"../../packem_shared/ahaSendProvider-
|
|
1
|
+
import{default as r}from"../../packem_shared/ahaSendProvider-Dq5mElHZ.js";export{r as ahaSendProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* AWS SES configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as a}from"../../packem_shared/awsSesProvider-
|
|
1
|
+
import{default as a}from"../../packem_shared/awsSesProvider-BGZJUIep.js";export{a as awsSesProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Azure Communication Services configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as a}from"../../packem_shared/azureProvider-
|
|
1
|
+
import{default as a}from"../../packem_shared/azureProvider-DlM6UWUv.js";export{a as azureProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions,
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions, c as EmailAddress } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Brevo configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as o}from"../../packem_shared/brevoProvider-
|
|
1
|
+
import{default as o}from"../../packem_shared/brevoProvider-D_Hhc0Z-.js";export{o as brevoProvider};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
|
+
import 'node:buffer';
|
|
5
|
+
/**
|
|
6
|
+
* Cloudflare Email Workers configuration.
|
|
7
|
+
*
|
|
8
|
+
* Cloudflare's send binding lives in the Workers runtime, so you wire it up yourself and pass a thin
|
|
9
|
+
* `send` function — keeping this provider runtime-agnostic and testable.
|
|
10
|
+
*/
|
|
11
|
+
interface CloudflareEmailConfig extends BaseConfig {
|
|
12
|
+
/**
|
|
13
|
+
* Sends a raw RFC 822 message via your Worker's Email binding.
|
|
14
|
+
* @param from The envelope-from address.
|
|
15
|
+
* @param to The single recipient address.
|
|
16
|
+
* @param raw The full RFC 822 (EML) message.
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* send: async (from, to, raw) => {
|
|
20
|
+
* const { EmailMessage } = await import("cloudflare:email");
|
|
21
|
+
* await env.SEND_EMAIL.send(new EmailMessage(from, to, raw));
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
send: (from: string, to: string, raw: string) => Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Cloudflare Email-specific options.
|
|
29
|
+
*/
|
|
30
|
+
type CloudflareEmailOptions = EmailOptions;
|
|
31
|
+
/**
|
|
32
|
+
* Cloudflare Email Workers provider — sends a raw RFC 822 message through a Worker's Email send
|
|
33
|
+
* binding (supplied via {@link CloudflareEmailConfig.send}). Single-recipient only, per the binding.
|
|
34
|
+
*/
|
|
35
|
+
declare const cloudflareEmailProvider: ProviderFactory<CloudflareEmailConfig>;
|
|
36
|
+
export { type CloudflareEmailConfig, type CloudflareEmailOptions, type ProviderFactory, cloudflareEmailProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as e}from"../../packem_shared/cloudflareEmailProvider-D4adkOjA.js";export{e as cloudflareEmailProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Failover configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as o}from"../../packem_shared/failoverProvider-
|
|
1
|
+
import{default as o}from"../../packem_shared/failoverProvider-BgX6zfnY.js";export{o as failoverProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* HTTP email configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"../../packem_shared/httpProvider-
|
|
1
|
+
import{default as e}from"../../packem_shared/httpProvider-DJAsYSun.js";export{e as httpProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Infobip configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"../../packem_shared/infobipProvider-
|
|
1
|
+
import{default as e}from"../../packem_shared/infobipProvider-oOL-ThpP.js";export{e as infobipProvider};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
|
+
import 'node:buffer';
|
|
5
|
+
/**
|
|
6
|
+
* Loops configuration.
|
|
7
|
+
*/
|
|
8
|
+
interface LoopsConfig extends BaseConfig {
|
|
9
|
+
/**
|
|
10
|
+
* Loops API key (sent as a Bearer token).
|
|
11
|
+
*/
|
|
12
|
+
apiKey: string;
|
|
13
|
+
/**
|
|
14
|
+
* Default transactional template id, used when a message doesn't supply its own.
|
|
15
|
+
*/
|
|
16
|
+
defaultTransactionalId?: string;
|
|
17
|
+
/**
|
|
18
|
+
* API endpoint override.
|
|
19
|
+
*/
|
|
20
|
+
endpoint?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Loops-specific email options.
|
|
24
|
+
*
|
|
25
|
+
* Loops sends [transactional emails](https://loops.so/docs/api-reference/send-transactional-email) from
|
|
26
|
+
* templates, so the rendered content lives in Loops — `subject`/`html`/`text` are ignored. Provide a
|
|
27
|
+
* `transactionalId` and the `dataVariables` your template expects.
|
|
28
|
+
*/
|
|
29
|
+
interface LoopsEmailOptions extends EmailOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Whether to add the recipient to your audience.
|
|
32
|
+
*/
|
|
33
|
+
addToAudience?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Variables passed to the Loops template.
|
|
36
|
+
*/
|
|
37
|
+
dataVariables?: Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* The Loops transactional template id.
|
|
40
|
+
*/
|
|
41
|
+
transactionalId?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Loops provider — sends transactional template emails through the Loops API.
|
|
45
|
+
*/
|
|
46
|
+
declare const loopsProvider: ProviderFactory<LoopsConfig>;
|
|
47
|
+
export { type LoopsConfig, type LoopsEmailOptions, type ProviderFactory, loopsProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as e}from"../../packem_shared/loopsProvider-BXr0KSjB.js";export{e as loopsProvider};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
|
+
import 'node:buffer';
|
|
5
|
+
/**
|
|
6
|
+
* MailChannels configuration.
|
|
7
|
+
*/
|
|
8
|
+
interface MailChannelsConfig extends BaseConfig {
|
|
9
|
+
/**
|
|
10
|
+
* MailChannels API key (sent as the `X-Api-Key` header).
|
|
11
|
+
*/
|
|
12
|
+
apiKey: string;
|
|
13
|
+
/**
|
|
14
|
+
* API endpoint override.
|
|
15
|
+
*/
|
|
16
|
+
endpoint?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* MailChannels-specific email options.
|
|
20
|
+
*/
|
|
21
|
+
type MailChannelsEmailOptions = EmailOptions;
|
|
22
|
+
/**
|
|
23
|
+
* MailChannels provider — sends through the MailChannels Email API (a SendGrid-shaped payload).
|
|
24
|
+
*/
|
|
25
|
+
declare const mailchannelsProvider: ProviderFactory<MailChannelsConfig>;
|
|
26
|
+
export { type MailChannelsConfig, type MailChannelsEmailOptions, type ProviderFactory, mailchannelsProvider };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{default as r}from"../../packem_shared/mailchannelsProvider-DPfQVzUd.js";export{r as mailchannelsProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* MailCrab configuration (for local development/testing)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"../../packem_shared/mailCrabProvider-
|
|
1
|
+
import{default as e}from"../../packem_shared/mailCrabProvider-C7Ao5H9p.js";export{e as mailCrabProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* MailerSend configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as a}from"../../packem_shared/mailerSendProvider-
|
|
1
|
+
import{default as a}from"../../packem_shared/mailerSendProvider-B8iT5Uhb.js";export{a as mailerSendProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Mailgun configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"../../packem_shared/mailgunProvider-
|
|
1
|
+
import{default as e}from"../../packem_shared/mailgunProvider-Ctyrs9d0.js";export{e as mailgunProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Mailjet configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as a}from"../../packem_shared/mailjetProvider-
|
|
1
|
+
import{default as a}from"../../packem_shared/mailjetProvider-v55nFDsr.js";export{a as mailjetProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Mailomat configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as r}from"../../packem_shared/mailomatProvider-
|
|
1
|
+
import{default as r}from"../../packem_shared/mailomatProvider-BCyB4Q4B.js";export{r as mailomatProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* MailPace configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as r}from"../../packem_shared/mailPaceProvider-
|
|
1
|
+
import{default as r}from"../../packem_shared/mailPaceProvider-DklGeGEM.js";export{r as mailPaceProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Mailtrap configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"../../packem_shared/mailtrapProvider-
|
|
1
|
+
import{default as e}from"../../packem_shared/mailtrapProvider-DcVw3sxR.js";export{e as mailtrapProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Mandrill configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as d}from"../../packem_shared/mandrillProvider-
|
|
1
|
+
import{default as d}from"../../packem_shared/mandrillProvider-gqMFMwgs.js";export{d as mandrillProvider};
|
|
@@ -1,59 +1,12 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import {
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { M as MockConfig, a as MockEmailEntry } from "../../packem_shared/types.d-DCkecJse.js";
|
|
4
|
+
export type { b as MockEmailOptions, R as RandomDelayRange } from "../../packem_shared/types.d-DCkecJse.js";
|
|
5
|
+
import "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
6
|
import 'node:buffer';
|
|
5
7
|
/**
|
|
6
|
-
* Random delay range configuration
|
|
7
|
-
*/
|
|
8
|
-
interface RandomDelayRange {
|
|
9
|
-
max: number;
|
|
10
|
-
min: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Mock configuration for testing
|
|
14
|
-
*/
|
|
15
|
-
interface MockConfig extends BaseConfig {
|
|
16
|
-
/**
|
|
17
|
-
* Default response to return for send operations
|
|
18
|
-
*/
|
|
19
|
-
defaultResponse?: Receipt;
|
|
20
|
-
/**
|
|
21
|
-
* Delay in milliseconds before resolving (default: 0)
|
|
22
|
-
* Useful for testing async behavior
|
|
23
|
-
*/
|
|
24
|
-
delay?: number;
|
|
25
|
-
/**
|
|
26
|
-
* Failure rate (0-1) for simulating random failures (default: 0)
|
|
27
|
-
* 0 = never fail, 1 = always fail
|
|
28
|
-
*/
|
|
29
|
-
failureRate?: number;
|
|
30
|
-
/**
|
|
31
|
-
* Random delay range in milliseconds
|
|
32
|
-
* When set, delay will be randomly chosen between min and max
|
|
33
|
-
*/
|
|
34
|
-
randomDelayRange?: RandomDelayRange;
|
|
35
|
-
/**
|
|
36
|
-
* Whether to simulate failures (default: false)
|
|
37
|
-
* When true, sendEmail will return an error
|
|
38
|
-
*/
|
|
39
|
-
simulateFailure?: boolean;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Mock-specific email options
|
|
43
|
-
*/
|
|
44
|
-
type MockEmailOptions = EmailOptions;
|
|
45
|
-
/**
|
|
46
|
-
* Stored email entry in mock provider
|
|
47
|
-
*/
|
|
48
|
-
interface MockEmailEntry {
|
|
49
|
-
id: string;
|
|
50
|
-
options: EmailOptions;
|
|
51
|
-
result: EmailResult;
|
|
52
|
-
timestamp: Date;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
8
|
* Mock Provider for testing emails without actually sending them
|
|
56
9
|
* Stores emails in memory for later retrieval and inspection
|
|
57
10
|
*/
|
|
58
11
|
declare const mockProvider: ProviderFactory<MockConfig, MockEmailEntry[]>;
|
|
59
|
-
export { type MockConfig, type MockEmailEntry, type
|
|
12
|
+
export { type MockConfig, type MockEmailEntry, type ProviderFactory, mockProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"../../packem_shared/mockProvider-
|
|
1
|
+
import{default as e}from"../../packem_shared/mockProvider-Behywbl1.js";export{e as mockProvider};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { P as ProviderFactory } from "../../packem_shared/provider.d-
|
|
2
|
-
export {
|
|
3
|
-
import {
|
|
1
|
+
import { P as ProviderFactory } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
2
|
+
export type { a as Provider } from "../../packem_shared/provider.d-J-y6iogK.js";
|
|
3
|
+
import { c as EmailAddress, B as BaseConfig, E as EmailOptions } from "../../packem_shared/types.d-ejzh-xBP.js";
|
|
4
4
|
import 'node:buffer';
|
|
5
5
|
/**
|
|
6
6
|
* Nodemailer configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as o}from"../../packem_shared/nodemailerProvider-
|
|
1
|
+
import{default as o}from"../../packem_shared/nodemailerProvider-BFHobXxt.js";export{o as nodemailerProvider};
|