@visulima/email 1.0.0-alpha.9 → 1.0.1

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.
Files changed (396) hide show
  1. package/CHANGELOG.md +782 -0
  2. package/LICENSE.md +541 -847
  3. package/README.md +212 -191
  4. package/dist/crypto/index.d.ts +304 -4
  5. package/dist/crypto/index.js +1 -1
  6. package/dist/deliverability/dmarc-report.d.ts +95 -0
  7. package/dist/deliverability/dmarc-report.js +1 -0
  8. package/dist/deliverability/index.d.ts +360 -0
  9. package/dist/deliverability/index.js +1 -0
  10. package/dist/events/index.d.ts +31 -0
  11. package/dist/events/index.js +1 -0
  12. package/dist/inbound/index.d.ts +375 -0
  13. package/dist/inbound/index.js +1 -0
  14. package/dist/index.d.ts +94 -9
  15. package/dist/index.js +1 -1
  16. package/dist/middleware/index.d.ts +346 -0
  17. package/dist/middleware/index.js +1 -0
  18. package/dist/packem_shared/ALL_EVENTS-3kwh5CBE.js +1 -0
  19. package/dist/packem_shared/DkimSigner-CiLBaXrg.js +18 -0
  20. package/dist/packem_shared/DraftMailMessage-CGTVuy2z.js +1 -0
  21. package/dist/packem_shared/EmailError-B-sEf3bp.js +1 -0
  22. package/dist/packem_shared/Mail-C1zp-fqt.js +1 -0
  23. package/dist/packem_shared/MailMessage-DQRgs5Dz.js +1 -0
  24. package/dist/packem_shared/MemoryEventStore-CuhfO9aj.js +1 -0
  25. package/dist/packem_shared/MemoryQueue-Dl1Fa6OJ.js +1 -0
  26. package/dist/packem_shared/MemorySuppressionStore-DZnbz-_B.js +1 -0
  27. package/dist/packem_shared/RATE_LIMIT_PRESETS-BPADLgcA.js +1 -0
  28. package/dist/packem_shared/RequiredOptionError-DuNNY_a5.js +1 -0
  29. package/dist/packem_shared/SmimeEncrypter-DavopRlE.js +6 -0
  30. package/dist/packem_shared/SmimeSigner-0onWksAv.js +8 -0
  31. package/dist/packem_shared/addDarkModeSupport-DZYxULjl.js +1 -0
  32. package/dist/packem_shared/address-formatter-BWR2Dddx.js +1 -0
  33. package/dist/packem_shared/aggregate-features-BqEjPd42.js +1 -0
  34. package/dist/packem_shared/ahaSendProvider-D81_wUA1.js +1 -0
  35. package/dist/packem_shared/arcMessageSignatureBase-DDLEHW2E.js +17 -0
  36. package/dist/packem_shared/attachment-processor-CMp7qqMI.js +1 -0
  37. package/dist/packem_shared/awsSesProvider-BGZJUIep.js +32 -0
  38. package/dist/packem_shared/azureProvider-CmcK4bsf.js +1 -0
  39. package/dist/packem_shared/brevoProvider-C1BDXr41.js +1 -0
  40. package/dist/packem_shared/build-mime-message-B6927SQy.js +3 -0
  41. package/dist/packem_shared/buildListUnsubscribe-Cdr8MvR_.js +1 -0
  42. package/dist/packem_shared/buildMtaStsPolicy-oEQg8y_C.js +6 -0
  43. package/dist/packem_shared/circuitBreakerMiddleware-D2SA_07f.js +1 -0
  44. package/dist/packem_shared/cloudflareEmailProvider-Bv-ty-74.js +1 -0
  45. package/dist/packem_shared/composeMiddleware-BHwLLEzK.js +1 -0
  46. package/dist/packem_shared/create-logger-BQTS3f-I.js +1 -0
  47. package/dist/packem_shared/createSuppressionStore-CeAZKCbY.js +1 -0
  48. package/dist/packem_shared/createTestEmail-D3XPGiHY.js +1 -0
  49. package/dist/packem_shared/createWorker-_-yMWcNQ.js +1 -0
  50. package/dist/packem_shared/dedupeMiddleware-B6ajWOTi.js +1 -0
  51. package/dist/packem_shared/defineInboundHandler-CnL2BzlL.js +1 -0
  52. package/dist/packem_shared/defineProvider-C9q-7iwt.js +1 -0
  53. package/dist/packem_shared/detectMimeType-DFH3kp6K.js +1 -0
  54. package/dist/packem_shared/emailMatchers-DZDkrZ_3.js +1 -0
  55. package/dist/packem_shared/event-bus.d-DEl3w_EW.d.ts +104 -0
  56. package/dist/packem_shared/extractCidReferences-BuoTREMp.js +1 -0
  57. package/dist/packem_shared/extractReply-BUjIBt9A.js +5 -0
  58. package/dist/packem_shared/failoverProvider-BgX6zfnY.js +1 -0
  59. package/dist/packem_shared/format-address-DTl-9O70.js +1 -0
  60. package/dist/packem_shared/generate-boundary-DQbzDiOI.js +1 -0
  61. package/dist/packem_shared/generate-message-id-gXAuMz4g.js +1 -0
  62. package/dist/packem_shared/headers-to-record-De1Eg951.js +1 -0
  63. package/dist/packem_shared/httpProvider-DJAsYSun.js +1 -0
  64. package/dist/packem_shared/index-BoZvzveg.js +11 -0
  65. package/dist/packem_shared/infobipProvider-lHyGrXgZ.js +1 -0
  66. package/dist/packem_shared/injectPreheader-CF9WHZ7J.js +1 -0
  67. package/dist/packem_shared/inlineCss-BQ7d2Cyz.js +1 -0
  68. package/dist/packem_shared/isValidSigningCertUrl-Bii1AMGC.js +3 -0
  69. package/dist/packem_shared/loggingMiddleware-CZIiVMVp.js +1 -0
  70. package/dist/packem_shared/loopsProvider-DyloxzNC.js +1 -0
  71. package/dist/packem_shared/mail.d-B9SSqyy0.d.ts +909 -0
  72. package/dist/packem_shared/{mailCrabProvider-CM_CFDca.js → mailCrabProvider-CPtBT6Th.js} +1 -1
  73. package/dist/packem_shared/mailPaceProvider-CJEvOFBh.js +1 -0
  74. package/dist/packem_shared/mailchannelsProvider-osRkW_tz.js +1 -0
  75. package/dist/packem_shared/mailerSendProvider-C_6LzARK.js +1 -0
  76. package/dist/packem_shared/mailgunProvider-DkISvMPe.js +1 -0
  77. package/dist/packem_shared/mailjetProvider-CV0i4Xzh.js +1 -0
  78. package/dist/packem_shared/mailomatProvider-B5YFonEO.js +1 -0
  79. package/dist/packem_shared/mailtrapProvider-C4ZquIPz.js +1 -0
  80. package/dist/packem_shared/make-request-BlK_B72c.js +1 -0
  81. package/dist/packem_shared/mandrillProvider-DWPFh_Sj.js +1 -0
  82. package/dist/packem_shared/mockProvider-Behywbl1.js +1 -0
  83. package/dist/packem_shared/netcoreProvider-C5TEciaN.js +1 -0
  84. package/dist/packem_shared/nodemailerProvider-BFHobXxt.js +1 -0
  85. package/dist/packem_shared/normalizeMessageId-DAx2pGe2.js +1 -0
  86. package/dist/packem_shared/oauth2Middleware-CodqXkyj.js +1 -0
  87. package/dist/packem_shared/opentelemetryProvider-ByHC01ub.js +1 -0
  88. package/dist/packem_shared/outlook365Provider-63ggDpqV.js +1 -0
  89. package/dist/packem_shared/parseAddress-DdbViBAJ.js +1 -0
  90. package/dist/packem_shared/parseArfReport-Ds6S3c4J.js +6 -0
  91. package/dist/packem_shared/parseCloudflareInbound-C__j-oNa.js +1 -0
  92. package/dist/packem_shared/parseDmarcRecord-DXZ-_rF0.js +1 -0
  93. package/dist/packem_shared/parseMailgunInbound-BpC6uPNe.js +1 -0
  94. package/dist/packem_shared/parsePostmarkInbound-Co3_c6-9.js +1 -0
  95. package/dist/packem_shared/parseSendGridInbound-DsALoijO.js +4 -0
  96. package/dist/packem_shared/parseSesInbound-CH5tHIjp.js +1 -0
  97. package/dist/packem_shared/parseTlsReport-wPe1lIDs.js +1 -0
  98. package/dist/packem_shared/plunkProvider-yTlrJVEp.js +1 -0
  99. package/dist/packem_shared/postProcessHtml-DqKi2Ucg.js +1 -0
  100. package/dist/packem_shared/postalProvider-CRX_bMYD.js +1 -0
  101. package/dist/packem_shared/postmarkProvider-CDx85Yge.js +1 -0
  102. package/dist/packem_shared/provider-base-C7PuopYK.js +1 -0
  103. package/dist/packem_shared/provider.d-J-y6iogK.d.ts +28 -0
  104. package/dist/packem_shared/quoted-printable-nSGDA1tA.js +7 -0
  105. package/dist/packem_shared/resendProvider-CiclWxzr.js +1 -0
  106. package/dist/packem_shared/retry-3pnxTuNs.js +1 -0
  107. package/dist/packem_shared/retryMiddleware-DbViDX4r.js +1 -0
  108. package/dist/packem_shared/roundRobinProvider-D1by5KGW.js +1 -0
  109. package/dist/packem_shared/sanitize-header-DJhgZl3y.js +1 -0
  110. package/dist/packem_shared/scalewayProvider-BcND48qO.js +1 -0
  111. package/dist/packem_shared/sendGridProvider-D8ZLgY62.js +1 -0
  112. package/dist/packem_shared/smtpProvider-Bm0yP97W.js +25 -0
  113. package/dist/packem_shared/sparkpostProvider-CTYfSRaV.js +1 -0
  114. package/dist/packem_shared/sweegoProvider-DOoin_vi.js +1 -0
  115. package/dist/packem_shared/toEmailSnapshot-DeRqM5SJ.js +1 -0
  116. package/dist/packem_shared/tracer.d-MU42G1jG.d.ts +494 -0
  117. package/dist/packem_shared/types.d-BId55FW2.d.ts +107 -0
  118. package/dist/packem_shared/types.d-CmoWvdZi.d.ts +61 -0
  119. package/dist/packem_shared/types.d-DCkecJse.d.ts +51 -0
  120. package/dist/packem_shared/types.d-Mpu0HZoG.d.ts +24 -0
  121. package/dist/packem_shared/types.d-ejzh-xBP.d.ts +209 -0
  122. package/dist/packem_shared/types.d-lcJZmwRK.d.ts +69 -0
  123. package/dist/packem_shared/types.d-nyR1ty1Q.d.ts +9 -0
  124. package/dist/packem_shared/utils-BfYfPB_I.js +1 -0
  125. package/dist/packem_shared/validate-email-options-mCM9dVug.js +1 -0
  126. package/dist/packem_shared/verifyMailgunWebhook-Cwl0OD3P.js +1 -0
  127. package/dist/packem_shared/verifyPostmarkWebhook-C72ZvbrG.js +1 -0
  128. package/dist/packem_shared/verifyResendWebhook-YK2zNDXR.js +1 -0
  129. package/dist/packem_shared/verifySendGridWebhook-Dbwc1tfG.js +1 -0
  130. package/dist/packem_shared/withEvents-CCVblSqj.js +1 -0
  131. package/dist/packem_shared/withMetrics-DWywX_6M.js +1 -0
  132. package/dist/packem_shared/withRender-VP9wE5Yr.js +1 -0
  133. package/dist/packem_shared/withSuppression-DBaZDMAr.js +1 -0
  134. package/dist/packem_shared/withTelemetry-DL2qo0Hp.js +1 -0
  135. package/dist/packem_shared/zeptomailProvider-DKBPSHPj.js +1 -0
  136. package/dist/providers/ahasend/index.d.ts +36 -3
  137. package/dist/providers/ahasend/index.js +1 -1
  138. package/dist/providers/aws-ses/index.d.ts +47 -3
  139. package/dist/providers/aws-ses/index.js +1 -1
  140. package/dist/providers/azure/index.d.ts +52 -3
  141. package/dist/providers/azure/index.js +1 -1
  142. package/dist/providers/brevo/index.d.ts +65 -3
  143. package/dist/providers/brevo/index.js +1 -1
  144. package/dist/providers/cloudflare-email/index.d.ts +36 -0
  145. package/dist/providers/cloudflare-email/index.js +1 -0
  146. package/dist/providers/failover/index.d.ts +27 -3
  147. package/dist/providers/failover/index.js +1 -1
  148. package/dist/providers/http/index.d.ts +35 -3
  149. package/dist/providers/http/index.js +1 -1
  150. package/dist/providers/infobip/index.d.ts +56 -3
  151. package/dist/providers/infobip/index.js +1 -1
  152. package/dist/providers/loops/index.d.ts +47 -0
  153. package/dist/providers/loops/index.js +1 -0
  154. package/dist/providers/mailchannels/index.d.ts +26 -0
  155. package/dist/providers/mailchannels/index.js +1 -0
  156. package/dist/providers/mailcrab/index.d.ts +32 -3
  157. package/dist/providers/mailcrab/index.js +1 -1
  158. package/dist/providers/mailersend/index.d.ts +51 -3
  159. package/dist/providers/mailersend/index.js +1 -1
  160. package/dist/providers/mailgun/index.d.ts +73 -3
  161. package/dist/providers/mailgun/index.js +1 -1
  162. package/dist/providers/mailjet/index.d.ts +72 -3
  163. package/dist/providers/mailjet/index.js +1 -1
  164. package/dist/providers/mailomat/index.d.ts +40 -3
  165. package/dist/providers/mailomat/index.js +1 -1
  166. package/dist/providers/mailpace/index.d.ts +52 -3
  167. package/dist/providers/mailpace/index.js +1 -1
  168. package/dist/providers/mailtrap/index.d.ts +44 -3
  169. package/dist/providers/mailtrap/index.js +1 -1
  170. package/dist/providers/mandrill/index.d.ts +87 -3
  171. package/dist/providers/mandrill/index.js +1 -1
  172. package/dist/providers/mock/index.d.ts +12 -3
  173. package/dist/providers/mock/index.js +1 -1
  174. package/dist/providers/netcore/index.d.ts +35 -0
  175. package/dist/providers/netcore/index.js +1 -0
  176. package/dist/providers/nodemailer/index.d.ts +38 -3
  177. package/dist/providers/nodemailer/index.js +1 -1
  178. package/dist/providers/opentelemetry/index.d.ts +37 -3
  179. package/dist/providers/opentelemetry/index.js +1 -1
  180. package/dist/providers/outlook365/index.d.ts +48 -0
  181. package/dist/providers/outlook365/index.js +1 -0
  182. package/dist/providers/plunk/index.d.ts +38 -3
  183. package/dist/providers/plunk/index.js +1 -1
  184. package/dist/providers/postal/index.d.ts +48 -3
  185. package/dist/providers/postal/index.js +1 -1
  186. package/dist/providers/postmark/index.d.ts +60 -3
  187. package/dist/providers/postmark/index.js +1 -1
  188. package/dist/providers/resend/index.d.ts +51 -3
  189. package/dist/providers/resend/index.js +1 -1
  190. package/dist/providers/roundrobin/index.d.ts +27 -3
  191. package/dist/providers/roundrobin/index.js +1 -1
  192. package/dist/providers/scaleway/index.d.ts +44 -3
  193. package/dist/providers/scaleway/index.js +1 -1
  194. package/dist/providers/sendgrid/index.d.ts +84 -3
  195. package/dist/providers/sendgrid/index.js +1 -1
  196. package/dist/providers/smtp/index.d.ts +71 -3
  197. package/dist/providers/smtp/index.js +1 -1
  198. package/dist/providers/sparkpost/index.d.ts +43 -0
  199. package/dist/providers/sparkpost/index.js +1 -0
  200. package/dist/providers/sweego/index.d.ts +40 -3
  201. package/dist/providers/sweego/index.js +1 -1
  202. package/dist/providers/zeptomail/index.d.ts +37 -3
  203. package/dist/providers/zeptomail/index.js +1 -1
  204. package/dist/queue/bullmq-queue.d.ts +46 -0
  205. package/dist/queue/bullmq-queue.js +1 -0
  206. package/dist/queue/index.d.ts +147 -0
  207. package/dist/queue/index.js +1 -0
  208. package/dist/queue/pg-boss-queue.d.ts +41 -0
  209. package/dist/queue/pg-boss-queue.js +1 -0
  210. package/dist/queue/sqs-queue.d.ts +72 -0
  211. package/dist/queue/sqs-queue.js +1 -0
  212. package/dist/queue/unstorage-queue.d.ts +199 -0
  213. package/dist/queue/unstorage-queue.js +1 -0
  214. package/dist/render/index.d.ts +107 -0
  215. package/dist/render/index.js +1 -0
  216. package/dist/template-engines/handlebars.d.ts +23 -22
  217. package/dist/template-engines/handlebars.js +1 -1
  218. package/dist/template-engines/html-to-text.d.ts +24 -24
  219. package/dist/template-engines/html-to-text.js +1 -1
  220. package/dist/template-engines/i18n.d.ts +61 -0
  221. package/dist/template-engines/i18n.js +1 -0
  222. package/dist/template-engines/jsx-email.d.ts +11 -0
  223. package/dist/template-engines/jsx-email.js +1 -0
  224. package/dist/template-engines/liquid.d.ts +12 -0
  225. package/dist/template-engines/liquid.js +1 -0
  226. package/dist/template-engines/mjml.d.ts +10 -10
  227. package/dist/template-engines/mjml.js +1 -1
  228. package/dist/template-engines/react-email.d.ts +9 -9
  229. package/dist/template-engines/react-email.js +1 -1
  230. package/dist/template-engines/vue-email.d.ts +9 -9
  231. package/dist/template-engines/vue-email.js +1 -1
  232. package/dist/test/index.d.ts +155 -0
  233. package/dist/test/index.js +1 -0
  234. package/dist/utils/cache.d.ts +49 -48
  235. package/dist/utils/cache.js +1 -1
  236. package/dist/utils/format-email-address.d.ts +8 -7
  237. package/dist/utils/format-email-address.js +1 -1
  238. package/dist/utils/normalize-email-aliases.d.ts +20 -20
  239. package/dist/utils/normalize-email-aliases.js +1 -1
  240. package/dist/utils/parse-address.d.ts +18 -17
  241. package/dist/utils/parse-address.js +1 -1
  242. package/dist/utils/parse-eml.d.ts +22 -0
  243. package/dist/utils/parse-eml.js +6 -0
  244. package/dist/utils/result.d.ts +49 -0
  245. package/dist/utils/result.js +1 -0
  246. package/dist/utils/validation/check-feature-support.d.ts +53 -0
  247. package/dist/utils/validation/check-feature-support.js +1 -0
  248. package/dist/utils/validation/validate-email.d.ts +5 -5
  249. package/dist/utils/validation/validate-email.js +1 -1
  250. package/dist/webhooks/index.d.ts +231 -0
  251. package/dist/webhooks/index.js +1 -0
  252. package/package.json +191 -81
  253. package/dist/attachment-helpers.d.ts +0 -64
  254. package/dist/crypto/dkim-signer.d.ts +0 -48
  255. package/dist/crypto/smime-encrypter.d.ts +0 -53
  256. package/dist/crypto/smime-signer.d.ts +0 -48
  257. package/dist/crypto/types.d.ts +0 -101
  258. package/dist/draft-mail-message.d.ts +0 -13
  259. package/dist/errors/email-error.d.ts +0 -17
  260. package/dist/errors/required-option-error.d.ts +0 -10
  261. package/dist/mail-message.d.ts +0 -425
  262. package/dist/mail.d.ts +0 -206
  263. package/dist/packem_shared/DkimSigner-pFd4c3fZ.js +0 -18
  264. package/dist/packem_shared/EmailError-zm2ffVav.js +0 -1
  265. package/dist/packem_shared/Mail-6Bltpy_p.js +0 -1
  266. package/dist/packem_shared/MailMessage-B76GPBBA.js +0 -1
  267. package/dist/packem_shared/RequiredOptionError-CevW3u2K.js +0 -1
  268. package/dist/packem_shared/SmimeEncrypter-CBevU534.js +0 -6
  269. package/dist/packem_shared/SmimeSigner-CObA4jzT.js +0 -8
  270. package/dist/packem_shared/address-formatter-Cm_E_ZMa.js +0 -1
  271. package/dist/packem_shared/ahaSendProvider-DlFKEQ6D.js +0 -1
  272. package/dist/packem_shared/attachment-processor-2rHmfa7j.js +0 -1
  273. package/dist/packem_shared/awsSesProvider-Ba-eVJxZ.js +0 -32
  274. package/dist/packem_shared/azureProvider-CQYAkgVF.js +0 -1
  275. package/dist/packem_shared/brevoProvider-5p6jjiK9.js +0 -1
  276. package/dist/packem_shared/build-mime-message-IYaUqqPJ.js +0 -2
  277. package/dist/packem_shared/create-logger-BiWdqFNg.js +0 -1
  278. package/dist/packem_shared/defineProvider-B9rSklAJ.js +0 -1
  279. package/dist/packem_shared/detectMimeType-S8WRsNtY.js +0 -1
  280. package/dist/packem_shared/failoverProvider-CAHQQueo.js +0 -1
  281. package/dist/packem_shared/generate-boundary-Cx8nXYS0.js +0 -1
  282. package/dist/packem_shared/generate-message-id-D4uA8gkj.js +0 -1
  283. package/dist/packem_shared/headers-to-record-Qo124ImV.js +0 -1
  284. package/dist/packem_shared/httpProvider-CZD6LZX3.js +0 -1
  285. package/dist/packem_shared/infobipProvider-CtLwrUaP.js +0 -1
  286. package/dist/packem_shared/mailPaceProvider-B6yKvh6z.js +0 -1
  287. package/dist/packem_shared/mailerSendProvider-CeeIXFnW.js +0 -1
  288. package/dist/packem_shared/mailgunProvider-mmjKzouh.js +0 -1
  289. package/dist/packem_shared/mailjetProvider-DwN6i0VA.js +0 -1
  290. package/dist/packem_shared/mailomatProvider-DMQmjKHT.js +0 -1
  291. package/dist/packem_shared/mailtrapProvider-BN3UBEQw.js +0 -1
  292. package/dist/packem_shared/make-request-BDzF9W9D.js +0 -1
  293. package/dist/packem_shared/mandrillProvider-370y7CLu.js +0 -1
  294. package/dist/packem_shared/mockProvider-DN5ZwutD.js +0 -1
  295. package/dist/packem_shared/nodemailerProvider-_w8QXMU-.js +0 -1
  296. package/dist/packem_shared/opentelemetryProvider-C_ZXOLSd.js +0 -1
  297. package/dist/packem_shared/plunkProvider-DfJumQ4U.js +0 -1
  298. package/dist/packem_shared/postalProvider-Bavx2FcH.js +0 -1
  299. package/dist/packem_shared/postmarkProvider-DFC0uvjO.js +0 -1
  300. package/dist/packem_shared/provider-base-Cmzx6BTO.js +0 -1
  301. package/dist/packem_shared/readFile-BlZxbhCU-C8bCdiA2.js +0 -1
  302. package/dist/packem_shared/resendProvider-CfqU7UdE.js +0 -1
  303. package/dist/packem_shared/roundRobinProvider-1WQnuKR8.js +0 -1
  304. package/dist/packem_shared/sanitize-header-wWav-Scu.js +0 -1
  305. package/dist/packem_shared/scalewayProvider-be1HPimL.js +0 -1
  306. package/dist/packem_shared/sendGridProvider-BVI1sq3n.js +0 -1
  307. package/dist/packem_shared/smtpProvider-BV-ufR53.js +0 -23
  308. package/dist/packem_shared/sweegoProvider-7419CSAq.js +0 -1
  309. package/dist/packem_shared/validate-email-options-DfJ7llf8.js +0 -1
  310. package/dist/packem_shared/zeptomailProvider-C2lh0Xmo.js +0 -1
  311. package/dist/providers/ahasend/provider.d.ts +0 -7
  312. package/dist/providers/ahasend/types.d.ts +0 -28
  313. package/dist/providers/aws-ses/provider.d.ts +0 -8
  314. package/dist/providers/aws-ses/types.d.ts +0 -38
  315. package/dist/providers/azure/provider.d.ts +0 -7
  316. package/dist/providers/azure/types.d.ts +0 -44
  317. package/dist/providers/brevo/provider.d.ts +0 -7
  318. package/dist/providers/brevo/types.d.ts +0 -57
  319. package/dist/providers/failover/provider.d.ts +0 -7
  320. package/dist/providers/failover/types.d.ts +0 -19
  321. package/dist/providers/http/provider.d.ts +0 -7
  322. package/dist/providers/http/types.d.ts +0 -27
  323. package/dist/providers/infobip/provider.d.ts +0 -7
  324. package/dist/providers/infobip/types.d.ts +0 -48
  325. package/dist/providers/mailcrab/provider.d.ts +0 -9
  326. package/dist/providers/mailcrab/types.d.ts +0 -22
  327. package/dist/providers/mailersend/provider.d.ts +0 -7
  328. package/dist/providers/mailersend/types.d.ts +0 -43
  329. package/dist/providers/mailgun/provider.d.ts +0 -7
  330. package/dist/providers/mailgun/types.d.ts +0 -65
  331. package/dist/providers/mailjet/provider.d.ts +0 -7
  332. package/dist/providers/mailjet/types.d.ts +0 -64
  333. package/dist/providers/mailomat/provider.d.ts +0 -7
  334. package/dist/providers/mailomat/types.d.ts +0 -32
  335. package/dist/providers/mailpace/provider.d.ts +0 -7
  336. package/dist/providers/mailpace/types.d.ts +0 -44
  337. package/dist/providers/mailtrap/provider.d.ts +0 -7
  338. package/dist/providers/mailtrap/types.d.ts +0 -36
  339. package/dist/providers/mandrill/provider.d.ts +0 -7
  340. package/dist/providers/mandrill/types.d.ts +0 -79
  341. package/dist/providers/mock/provider.d.ts +0 -8
  342. package/dist/providers/mock/types.d.ts +0 -50
  343. package/dist/providers/nodemailer/provider.d.ts +0 -7
  344. package/dist/providers/nodemailer/types.d.ts +0 -30
  345. package/dist/providers/opentelemetry/provider.d.ts +0 -8
  346. package/dist/providers/opentelemetry/types.d.ts +0 -31
  347. package/dist/providers/plunk/provider.d.ts +0 -7
  348. package/dist/providers/plunk/types.d.ts +0 -30
  349. package/dist/providers/postal/provider.d.ts +0 -7
  350. package/dist/providers/postal/types.d.ts +0 -40
  351. package/dist/providers/postmark/provider.d.ts +0 -7
  352. package/dist/providers/postmark/types.d.ts +0 -52
  353. package/dist/providers/provider.d.ts +0 -27
  354. package/dist/providers/resend/provider.d.ts +0 -7
  355. package/dist/providers/resend/types.d.ts +0 -43
  356. package/dist/providers/roundrobin/provider.d.ts +0 -7
  357. package/dist/providers/roundrobin/types.d.ts +0 -19
  358. package/dist/providers/scaleway/provider.d.ts +0 -7
  359. package/dist/providers/scaleway/types.d.ts +0 -36
  360. package/dist/providers/sendgrid/provider.d.ts +0 -7
  361. package/dist/providers/sendgrid/types.d.ts +0 -76
  362. package/dist/providers/smtp/provider.d.ts +0 -7
  363. package/dist/providers/smtp/types.d.ts +0 -63
  364. package/dist/providers/sweego/provider.d.ts +0 -7
  365. package/dist/providers/sweego/types.d.ts +0 -32
  366. package/dist/providers/utils/address-formatter.d.ts +0 -139
  367. package/dist/providers/utils/attachment-processor.d.ts +0 -58
  368. package/dist/providers/utils/index.d.ts +0 -4
  369. package/dist/providers/utils/payload-builder.d.ts +0 -78
  370. package/dist/providers/utils/provider-base.d.ts +0 -69
  371. package/dist/providers/zeptomail/provider.d.ts +0 -7
  372. package/dist/providers/zeptomail/types.d.ts +0 -29
  373. package/dist/template-engines/types.d.ts +0 -8
  374. package/dist/types.d.ts +0 -203
  375. package/dist/utils/build-mime-message.d.ts +0 -8
  376. package/dist/utils/create-logger.d.ts +0 -16
  377. package/dist/utils/format-email-addresses.d.ts +0 -8
  378. package/dist/utils/generate-boundary.d.ts +0 -7
  379. package/dist/utils/generate-message-id.d.ts +0 -6
  380. package/dist/utils/headers-to-record.d.ts +0 -9
  381. package/dist/utils/is-port-available.d.ts +0 -9
  382. package/dist/utils/make-request.d.ts +0 -18
  383. package/dist/utils/retry.d.ts +0 -10
  384. package/dist/utils/sanitize-header.d.ts +0 -14
  385. package/dist/utils/to-base64.d.ts +0 -8
  386. package/dist/utils/validation/check-mx-records.d.ts +0 -42
  387. package/dist/utils/validation/check-mx-records.js +0 -1
  388. package/dist/utils/validation/disposable-email-domains.d.ts +0 -13
  389. package/dist/utils/validation/disposable-email-domains.js +0 -1
  390. package/dist/utils/validation/role-accounts.d.ts +0 -21
  391. package/dist/utils/validation/role-accounts.js +0 -1
  392. package/dist/utils/validation/validate-email-options.d.ts +0 -8
  393. package/dist/utils/validation/verify-email.d.ts +0 -47
  394. package/dist/utils/validation/verify-email.js +0 -1
  395. package/dist/utils/validation/verify-smtp.d.ts +0 -39
  396. package/dist/utils/validation/verify-smtp.js +0 -4
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Result of verifying an inbound webhook signature.
3
+ */
4
+ interface WebhookVerificationResult {
5
+ /**
6
+ * Machine-readable reason when {@link WebhookVerificationResult.valid} is `false`.
7
+ */
8
+ reason?: string;
9
+ /**
10
+ * Whether the signature (and, when applicable, the timestamp) is valid.
11
+ */
12
+ valid: boolean;
13
+ }
14
+ /**
15
+ * Headers passed to a webhook verifier. Either a plain record or a `Headers` instance.
16
+ *
17
+ * Lookups are case-insensitive.
18
+ */
19
+ type WebhookHeaders = Headers | Record<string, string | string[] | undefined>;
20
+ /**
21
+ * Shared options for verifiers that enforce a timestamp tolerance to guard against replay attacks.
22
+ */
23
+ interface TimestampToleranceOptions {
24
+ /**
25
+ * Maximum allowed difference, in seconds, between the signed timestamp and the current time.
26
+ *
27
+ * Set to `0` to disable the replay-protection window.
28
+ * @default 300
29
+ */
30
+ tolerance?: number;
31
+ }
32
+ /**
33
+ * Options for {@link verifyMailgunWebhook}.
34
+ *
35
+ * Mailgun nests these three fields under a `signature` object in the webhook JSON body.
36
+ */
37
+ interface MailgunWebhookOptions extends TimestampToleranceOptions {
38
+ /**
39
+ * Override the current time (milliseconds) — primarily for testing.
40
+ */
41
+ now?: number;
42
+ /**
43
+ * The HMAC value from `signature.signature`.
44
+ */
45
+ signature: string;
46
+ /**
47
+ * Your Mailgun HTTP webhook signing key (Settings → Webhooks).
48
+ */
49
+ signingKey: string;
50
+ /**
51
+ * The timestamp from `signature.timestamp` (unix seconds, as a string or number).
52
+ */
53
+ timestamp: number | string;
54
+ /**
55
+ * The token from `signature.token`.
56
+ */
57
+ token: string;
58
+ }
59
+ /**
60
+ * Verifies a [Mailgun](https://documentation.mailgun.com/docs/mailgun/user-manual/tracking-messages/#webhooks) webhook.
61
+ *
62
+ * Mailgun computes `HMAC-SHA256(key = signingKey, message = timestamp + token)` and sends the hex
63
+ * digest as `signature.signature`.
64
+ * @param options Verification inputs. See {@link MailgunWebhookOptions}.
65
+ * @returns The verification result.
66
+ */
67
+ declare const verifyMailgunWebhook: (options: MailgunWebhookOptions) => WebhookVerificationResult;
68
+ /**
69
+ * Options for {@link verifyPostmarkWebhook}.
70
+ *
71
+ * Postmark does not sign webhook payloads; instead it supports HTTP Basic Auth credentials embedded
72
+ * in the webhook URL (and IP allow-listing). This verifier checks the Basic Auth credentials.
73
+ */
74
+ interface PostmarkWebhookOptions {
75
+ /**
76
+ * The value of the incoming `Authorization` header (e.g. `Basic dXNlcjpwYXNz`).
77
+ */
78
+ authorization: string | undefined;
79
+ /**
80
+ * The password configured on the Postmark webhook URL.
81
+ */
82
+ password: string;
83
+ /**
84
+ * The username configured on the Postmark webhook URL.
85
+ */
86
+ username: string;
87
+ }
88
+ /**
89
+ * Verifies a [Postmark](https://postmarkapp.com/support/article/1213-securing-inbound-and-open-webhooks)
90
+ * webhook by validating its HTTP Basic Auth credentials.
91
+ * @param options Verification inputs. See {@link PostmarkWebhookOptions}.
92
+ * @returns The verification result.
93
+ */
94
+ declare const verifyPostmarkWebhook: (options: PostmarkWebhookOptions) => WebhookVerificationResult;
95
+ /**
96
+ * Options for {@link verifySendGridWebhook}.
97
+ */
98
+ interface SendGridWebhookOptions extends TimestampToleranceOptions {
99
+ /**
100
+ * Override the current time (milliseconds) — primarily for testing.
101
+ */
102
+ now?: number;
103
+ /**
104
+ * The raw, unparsed request body exactly as received.
105
+ */
106
+ payload: string;
107
+ /**
108
+ * The verification key from the SendGrid Event Webhook settings.
109
+ *
110
+ * Either the base64-encoded DER (SPKI) string SendGrid displays, or a full PEM block.
111
+ */
112
+ publicKey: string;
113
+ /**
114
+ * The value of the `X-Twilio-Email-Event-Webhook-Signature` header (base64 DER ECDSA signature).
115
+ */
116
+ signature: string;
117
+ /**
118
+ * The value of the `X-Twilio-Email-Event-Webhook-Timestamp` header (unix epoch seconds).
119
+ */
120
+ timestamp: string;
121
+ }
122
+ /**
123
+ * Verifies a [SendGrid Event Webhook](https://www.twilio.com/docs/sendgrid/for-developers/tracking-events/getting-started-event-webhook-security-features)
124
+ * using its ECDSA (prime256v1) signature, and rejects stale requests to prevent replay.
125
+ *
126
+ * The signed message is `timestamp + payload`. The signature header is the base64-encoded DER
127
+ * ECDSA signature. The timestamp is unix epoch seconds and must fall within `tolerance` of now.
128
+ * @param options Verification inputs. See {@link SendGridWebhookOptions}.
129
+ * @returns The verification result.
130
+ * @throws {EmailError} When the supplied public key cannot be parsed.
131
+ */
132
+ declare const verifySendGridWebhook: (options: SendGridWebhookOptions) => WebhookVerificationResult;
133
+ /**
134
+ * The subset of an Amazon SNS message envelope relevant to signature verification.
135
+ *
136
+ * AWS SES delivers events (deliveries, bounces, complaints) wrapped in SNS notifications.
137
+ */
138
+ interface SnsMessage {
139
+ [key: string]: unknown;
140
+ Message?: string;
141
+ MessageId?: string;
142
+ Signature?: string;
143
+ SignatureVersion?: string;
144
+ SigningCertURL?: string;
145
+ Subject?: string;
146
+ SubscribeURL?: string;
147
+ Timestamp?: string;
148
+ Token?: string;
149
+ TopicArn?: string;
150
+ Type?: string;
151
+ }
152
+ /**
153
+ * Resolves a signing-certificate URL to its PEM contents. Injectable for testing and caching.
154
+ */
155
+ type CertificateResolver = (url: string) => Promise<string> | string;
156
+ /**
157
+ * Options for {@link verifySnsMessage}.
158
+ */
159
+ interface SnsVerifyOptions {
160
+ /**
161
+ * Override how the signing certificate is fetched. Defaults to a `fetch`-based resolver that
162
+ * only accepts `https://*.amazonaws.com` URLs.
163
+ */
164
+ certificateResolver?: CertificateResolver;
165
+ }
166
+ /**
167
+ * Validates that a signing-certificate URL points at an AWS SNS signing host over HTTPS.
168
+ * @param url The `SigningCertURL` from the SNS message.
169
+ * @returns `true` when the URL is an acceptable AWS SNS certificate endpoint.
170
+ */
171
+ declare const isValidSigningCertUrl: (url: string) => boolean;
172
+ /**
173
+ * Verifies the RSA signature on an Amazon SNS message (used to wrap AWS SES events).
174
+ *
175
+ * Signature version `1` uses SHA1, version `2` uses SHA256. The signing certificate is fetched from
176
+ * `SigningCertURL` (validated to be an `sns.&lt;region>.amazonaws.com` HTTPS endpoint with no userinfo
177
+ * or explicit port) unless a custom {@link CertificateResolver} is supplied.
178
+ * @param message The parsed SNS message envelope.
179
+ * @param options Optional overrides. See {@link SnsVerifyOptions}.
180
+ * @returns The verification result.
181
+ * @throws {EmailError} When the certificate cannot be resolved.
182
+ */
183
+ declare const verifySnsMessage: (message: SnsMessage, options?: SnsVerifyOptions) => Promise<WebhookVerificationResult>;
184
+ /**
185
+ * Options for {@link verifyStandardWebhook}.
186
+ */
187
+ interface StandardWebhookOptions extends TimestampToleranceOptions {
188
+ /**
189
+ * The request headers, or the three signature headers as a plain record.
190
+ *
191
+ * Recognized header names (case-insensitive): `webhook-id` / `svix-id`,
192
+ * `webhook-timestamp` / `svix-timestamp`, and `webhook-signature` / `svix-signature`.
193
+ */
194
+ headers: WebhookHeaders;
195
+ /**
196
+ * Override the current time (milliseconds) — primarily for testing.
197
+ */
198
+ now?: number;
199
+ /**
200
+ * The raw, unparsed request body exactly as received.
201
+ *
202
+ * Parsing and re-serializing the body changes the bytes and breaks verification.
203
+ */
204
+ payload: string;
205
+ /**
206
+ * The signing secret. Supports the `whsec_`-prefixed, base64-encoded form used by Svix/Resend,
207
+ * or a raw secret string.
208
+ */
209
+ secret: string;
210
+ }
211
+ /**
212
+ * Verifies a webhook signed according to the [Standard Webhooks](https://www.standardwebhooks.com/) spec.
213
+ *
214
+ * This is the scheme used by Svix and, by extension, Resend. The signed content is
215
+ * `${id}.${timestamp}.${payload}`, HMAC-SHA256'd with the (base64-decoded) secret and base64-encoded.
216
+ * The `webhook-signature` header may contain multiple space-separated `v1,&lt;sig>` entries; a match
217
+ * against any one of them passes.
218
+ * @param options Verification inputs. See {@link StandardWebhookOptions}.
219
+ * @returns The verification result.
220
+ */
221
+ declare const verifyStandardWebhook: (options: StandardWebhookOptions) => WebhookVerificationResult;
222
+ /**
223
+ * Verifies a [Resend](https://resend.com/docs/dashboard/webhooks/verify-webhooks-requests) webhook.
224
+ *
225
+ * Resend uses Svix, so this is an alias for {@link verifyStandardWebhook} that accepts the
226
+ * `svix-*` headers.
227
+ * @param options Verification inputs. See {@link StandardWebhookOptions}.
228
+ * @returns The verification result.
229
+ */
230
+ declare const verifyResendWebhook: (options: StandardWebhookOptions) => WebhookVerificationResult;
231
+ export { type CertificateResolver, type MailgunWebhookOptions, type PostmarkWebhookOptions, type SendGridWebhookOptions, type SnsMessage, type SnsVerifyOptions, type StandardWebhookOptions, type TimestampToleranceOptions, type WebhookHeaders, type WebhookVerificationResult, isValidSigningCertUrl, verifyMailgunWebhook, verifyPostmarkWebhook, verifyResendWebhook, verifySendGridWebhook, verifySnsMessage, verifyStandardWebhook };
@@ -0,0 +1 @@
1
+ import{verifyMailgunWebhook as r}from"../packem_shared/verifyMailgunWebhook-Cwl0OD3P.js";import{verifyPostmarkWebhook as f}from"../packem_shared/verifyPostmarkWebhook-C72ZvbrG.js";import{verifySendGridWebhook as n}from"../packem_shared/verifySendGridWebhook-Dbwc1tfG.js";import{isValidSigningCertUrl as d,verifySnsMessage as k}from"../packem_shared/isValidSigningCertUrl-Bii1AMGC.js";import{verifyResendWebhook as s,verifyStandardWebhook as v}from"../packem_shared/verifyResendWebhook-YK2zNDXR.js";export{d as isValidSigningCertUrl,r as verifyMailgunWebhook,f as verifyPostmarkWebhook,s as verifyResendWebhook,n as verifySendGridWebhook,k as verifySnsMessage,v as verifyStandardWebhook};
package/package.json CHANGED
@@ -1,56 +1,72 @@
1
1
  {
2
2
  "name": "@visulima/email",
3
- "version": "1.0.0-alpha.9",
3
+ "version": "1.0.1",
4
4
  "description": "A comprehensive email library with multi-provider support, crypto utilities, and template engines",
5
5
  "keywords": [
6
- "visulima",
7
- "email",
8
- "mail",
9
- "better-mail",
10
- "smtp",
11
- "resend",
6
+ "ahasend",
7
+ "arc",
12
8
  "aws-ses",
13
- "zeptomail",
14
- "http",
9
+ "azure",
10
+ "batch",
11
+ "better-mail",
12
+ "brevo",
13
+ "crypto",
14
+ "deliverability",
15
+ "dkim",
16
+ "dmarc",
17
+ "email",
18
+ "encryption",
15
19
  "failover",
16
- "roundrobin",
20
+ "handlebars",
21
+ "html-to-text",
22
+ "http",
23
+ "i18n",
24
+ "inbound-email",
25
+ "infobip",
26
+ "jsx-email",
27
+ "liquid",
28
+ "list-unsubscribe",
29
+ "mail",
17
30
  "mailcrab",
18
- "nodemailer",
19
- "opentelemetry",
20
- "plunk",
21
- "mock",
22
- "sendgrid",
31
+ "mailersend",
23
32
  "mailgun",
24
- "postmark",
25
- "brevo",
26
33
  "mailjet",
27
- "mailersend",
34
+ "mailomat",
35
+ "mailpace",
36
+ "mailtrap",
28
37
  "mandrill",
38
+ "middleware",
39
+ "mjml",
40
+ "mock",
41
+ "netcore",
42
+ "nodemailer",
43
+ "opentelemetry",
44
+ "outlook365",
45
+ "plunk",
29
46
  "postal",
30
- "mailtrap",
31
- "mailpace",
32
- "azure",
33
- "infobip",
47
+ "postmark",
48
+ "queue",
49
+ "react-email",
50
+ "resend",
51
+ "roundrobin",
34
52
  "scaleway",
35
- "ahasend",
36
- "mailomat",
37
- "sweego",
38
- "dkim",
39
- "smime",
40
- "encryption",
53
+ "sendgrid",
41
54
  "signing",
42
- "crypto",
43
- "disposable-email",
44
- "disposable-email-domains",
45
- "handlebars",
46
- "mjml",
47
- "react-email",
55
+ "smime",
56
+ "smtp",
57
+ "sparkpost",
58
+ "sweego",
59
+ "visulima",
48
60
  "vue-email",
49
- "html-to-text"
61
+ "webhook",
62
+ "zeptomail"
50
63
  ],
51
64
  "homepage": "https://visulima.com/packages/email",
52
- "bugs": {
53
- "url": "https://github.com/visulima/visulima/issues"
65
+ "bugs": "https://github.com/visulima/visulima/issues",
66
+ "license": "MIT",
67
+ "author": {
68
+ "name": "Daniel Bannert",
69
+ "email": "d.bannert@anolilab.de"
54
70
  },
55
71
  "repository": {
56
72
  "type": "git",
@@ -67,13 +83,13 @@
67
83
  "url": "https://anolilab.com/support"
68
84
  }
69
85
  ],
70
- "license": "MIT",
71
- "author": {
72
- "name": "Daniel Bannert",
73
- "email": "d.bannert@anolilab.de"
74
- },
75
- "sideEffects": false,
86
+ "files": [
87
+ "dist",
88
+ "README.md",
89
+ "CHANGELOG.md"
90
+ ],
76
91
  "type": "module",
92
+ "sideEffects": false,
77
93
  "exports": {
78
94
  ".": {
79
95
  "types": "./dist/index.d.ts",
@@ -99,6 +115,18 @@
99
115
  "types": "./dist/template-engines/html-to-text.d.ts",
100
116
  "default": "./dist/template-engines/html-to-text.js"
101
117
  },
118
+ "./template/liquid": {
119
+ "types": "./dist/template-engines/liquid.d.ts",
120
+ "default": "./dist/template-engines/liquid.js"
121
+ },
122
+ "./template/jsx-email": {
123
+ "types": "./dist/template-engines/jsx-email.d.ts",
124
+ "default": "./dist/template-engines/jsx-email.js"
125
+ },
126
+ "./template/i18n": {
127
+ "types": "./dist/template-engines/i18n.d.ts",
128
+ "default": "./dist/template-engines/i18n.js"
129
+ },
102
130
  "./providers/aws-ses": {
103
131
  "types": "./dist/providers/aws-ses/index.d.ts",
104
132
  "default": "./dist/providers/aws-ses/index.js"
@@ -151,6 +179,58 @@
151
179
  "types": "./dist/crypto/index.d.ts",
152
180
  "default": "./dist/crypto/index.js"
153
181
  },
182
+ "./render": {
183
+ "types": "./dist/render/index.d.ts",
184
+ "default": "./dist/render/index.js"
185
+ },
186
+ "./webhooks": {
187
+ "types": "./dist/webhooks/index.d.ts",
188
+ "default": "./dist/webhooks/index.js"
189
+ },
190
+ "./deliverability": {
191
+ "types": "./dist/deliverability/index.d.ts",
192
+ "default": "./dist/deliverability/index.js"
193
+ },
194
+ "./deliverability/dmarc-report": {
195
+ "types": "./dist/deliverability/dmarc-report.d.ts",
196
+ "default": "./dist/deliverability/dmarc-report.js"
197
+ },
198
+ "./inbound": {
199
+ "types": "./dist/inbound/index.d.ts",
200
+ "default": "./dist/inbound/index.js"
201
+ },
202
+ "./events": {
203
+ "types": "./dist/events/index.d.ts",
204
+ "default": "./dist/events/index.js"
205
+ },
206
+ "./middleware": {
207
+ "types": "./dist/middleware/index.d.ts",
208
+ "default": "./dist/middleware/index.js"
209
+ },
210
+ "./queue": {
211
+ "types": "./dist/queue/index.d.ts",
212
+ "default": "./dist/queue/index.js"
213
+ },
214
+ "./queue/unstorage": {
215
+ "types": "./dist/queue/unstorage-queue.d.ts",
216
+ "default": "./dist/queue/unstorage-queue.js"
217
+ },
218
+ "./queue/sqs": {
219
+ "types": "./dist/queue/sqs-queue.d.ts",
220
+ "default": "./dist/queue/sqs-queue.js"
221
+ },
222
+ "./queue/pg-boss": {
223
+ "types": "./dist/queue/pg-boss-queue.d.ts",
224
+ "default": "./dist/queue/pg-boss-queue.js"
225
+ },
226
+ "./queue/bullmq": {
227
+ "types": "./dist/queue/bullmq-queue.d.ts",
228
+ "default": "./dist/queue/bullmq-queue.js"
229
+ },
230
+ "./test": {
231
+ "types": "./dist/test/index.d.ts",
232
+ "default": "./dist/test/index.js"
233
+ },
154
234
  "./providers/sendgrid": {
155
235
  "types": "./dist/providers/sendgrid/index.d.ts",
156
236
  "default": "./dist/providers/sendgrid/index.js"
@@ -215,10 +295,42 @@
215
295
  "types": "./dist/providers/sweego/index.d.ts",
216
296
  "default": "./dist/providers/sweego/index.js"
217
297
  },
298
+ "./providers/mailchannels": {
299
+ "types": "./dist/providers/mailchannels/index.d.ts",
300
+ "default": "./dist/providers/mailchannels/index.js"
301
+ },
302
+ "./providers/cloudflare-email": {
303
+ "types": "./dist/providers/cloudflare-email/index.d.ts",
304
+ "default": "./dist/providers/cloudflare-email/index.js"
305
+ },
306
+ "./providers/loops": {
307
+ "types": "./dist/providers/loops/index.d.ts",
308
+ "default": "./dist/providers/loops/index.js"
309
+ },
310
+ "./providers/sparkpost": {
311
+ "types": "./dist/providers/sparkpost/index.d.ts",
312
+ "default": "./dist/providers/sparkpost/index.js"
313
+ },
314
+ "./providers/netcore": {
315
+ "types": "./dist/providers/netcore/index.d.ts",
316
+ "default": "./dist/providers/netcore/index.js"
317
+ },
318
+ "./providers/outlook365": {
319
+ "types": "./dist/providers/outlook365/index.d.ts",
320
+ "default": "./dist/providers/outlook365/index.js"
321
+ },
218
322
  "./utils/parse-address": {
219
323
  "types": "./dist/utils/parse-address.d.ts",
220
324
  "default": "./dist/utils/parse-address.js"
221
325
  },
326
+ "./utils/parse-eml": {
327
+ "types": "./dist/utils/parse-eml.d.ts",
328
+ "default": "./dist/utils/parse-eml.js"
329
+ },
330
+ "./utils/result": {
331
+ "types": "./dist/utils/result.d.ts",
332
+ "default": "./dist/utils/result.js"
333
+ },
222
334
  "./utils/format-email-address": {
223
335
  "types": "./dist/utils/format-email-address.d.ts",
224
336
  "default": "./dist/utils/format-email-address.js"
@@ -227,29 +339,13 @@
227
339
  "types": "./dist/utils/cache.d.ts",
228
340
  "default": "./dist/utils/cache.js"
229
341
  },
230
- "./validation/disposable-email-domains": {
231
- "types": "./dist/utils/validation/disposable-email-domains.d.ts",
232
- "default": "./dist/utils/validation/disposable-email-domains.js"
233
- },
234
342
  "./validation/validate-email": {
235
343
  "types": "./dist/utils/validation/validate-email.d.ts",
236
344
  "default": "./dist/utils/validation/validate-email.js"
237
345
  },
238
- "./validation/check-mx-records": {
239
- "types": "./dist/utils/validation/check-mx-records.d.ts",
240
- "default": "./dist/utils/validation/check-mx-records.js"
241
- },
242
- "./validation/role-accounts": {
243
- "types": "./dist/utils/validation/role-accounts.d.ts",
244
- "default": "./dist/utils/validation/role-accounts.js"
245
- },
246
- "./validation/verify-smtp": {
247
- "types": "./dist/utils/validation/verify-smtp.d.ts",
248
- "default": "./dist/utils/validation/verify-smtp.js"
249
- },
250
- "./validation/verify-email": {
251
- "types": "./dist/utils/validation/verify-email.d.ts",
252
- "default": "./dist/utils/validation/verify-email.js"
346
+ "./validation/check-feature-support": {
347
+ "types": "./dist/utils/validation/check-feature-support.d.ts",
348
+ "default": "./dist/utils/validation/check-feature-support.js"
253
349
  },
254
350
  "./utils/normalize-email-aliases": {
255
351
  "types": "./dist/utils/normalize-email-aliases.d.ts",
@@ -257,27 +353,30 @@
257
353
  },
258
354
  "./package.json": "./package.json"
259
355
  },
260
- "files": [
261
- "dist",
262
- "README.md",
263
- "CHANGELOG.md"
264
- ],
356
+ "publishConfig": {
357
+ "access": "public",
358
+ "provenance": true
359
+ },
265
360
  "dependencies": {
266
- "@visulima/disposable-email-domains": "1.0.0-alpha.8",
267
- "html-to-text": "^9.0.5",
268
- "ical-generator": "^10.0.0",
269
- "lru-cache": "^11.2.4",
361
+ "html-to-text": "^10.0.0",
362
+ "ical-generator": "11.0.0",
363
+ "lru-cache": "11.5.1",
270
364
  "mime": "^4.1.0"
271
365
  },
272
366
  "peerDependencies": {
273
367
  "@opentelemetry/api": "^1.0.0 || ^2.0.0",
274
- "@react-email/render": "^2.0.0",
368
+ "@react-email/render": "^2.0.10",
275
369
  "@vue-email/render": "0.0.9",
276
- "asn1js": "^3.0.0",
277
- "handlebars": "^4.7.8",
278
- "mjml": "^4.15.3",
370
+ "asn1js": ">=3.0.10",
371
+ "fast-xml-parser": "^4.5.0",
372
+ "handlebars": ">=4.7.9",
373
+ "jsx-email": "^2.0.0",
374
+ "juice": "^11.0.0",
375
+ "liquidjs": "^10.0.0",
376
+ "mjml": ">=5.4.0",
279
377
  "nodemailer": ">=7",
280
- "pkijs": "^3.0.0"
378
+ "pkijs": ">=3.4.0",
379
+ "unstorage": "^1.13.0"
281
380
  },
282
381
  "peerDependenciesMeta": {
283
382
  "@opentelemetry/api": {
@@ -292,9 +391,21 @@
292
391
  "asn1js": {
293
392
  "optional": true
294
393
  },
394
+ "fast-xml-parser": {
395
+ "optional": true
396
+ },
295
397
  "handlebars": {
296
398
  "optional": true
297
399
  },
400
+ "jsx-email": {
401
+ "optional": true
402
+ },
403
+ "juice": {
404
+ "optional": true
405
+ },
406
+ "liquidjs": {
407
+ "optional": true
408
+ },
298
409
  "mjml": {
299
410
  "optional": true
300
411
  },
@@ -303,13 +414,12 @@
303
414
  },
304
415
  "pkijs": {
305
416
  "optional": true
417
+ },
418
+ "unstorage": {
419
+ "optional": true
306
420
  }
307
421
  },
308
422
  "engines": {
309
- "node": ">=22.13 <=25.x"
310
- },
311
- "publishConfig": {
312
- "access": "public",
313
- "provenance": true
423
+ "node": "^22.14.0 || >=24.10.0"
314
424
  }
315
425
  }
@@ -1,64 +0,0 @@
1
- import type { Buffer } from "node:buffer";
2
- /**
3
- * Detects MIME type from filename using mime package.
4
- * Falls back to application/octet-stream if not found.
5
- * @param filename The filename or path.
6
- * @returns MIME type or application/octet-stream as fallback.
7
- */
8
- export declare const detectMimeType: (filename: string) => string;
9
- /**
10
- * Generates a Content-ID for inline attachments.
11
- * @param filename The filename to generate CID from.
12
- * @returns A unique Content-ID string.
13
- */
14
- export declare const generateContentId: (filename: string) => string;
15
- /**
16
- * Reads file and returns its content as Buffer.
17
- * @param filePath Path to the file.
18
- * @returns Buffer containing file content.
19
- */
20
- export declare const readFileAsBuffer: (filePath: string) => Promise<Buffer>;
21
- /**
22
- * Attachment options for helper methods
23
- */
24
- export interface AttachmentOptions {
25
- /**
26
- * Content-ID for inline attachments (used in HTML with cid:).
27
- * If not provided and contentDisposition is 'inline', will be auto-generated.
28
- */
29
- cid?: string;
30
- /**
31
- * Content disposition type.
32
- * 'attachment' (default) or 'inline'.
33
- */
34
- contentDisposition?: "attachment" | "inline";
35
- /**
36
- * MIME type of the attachment.
37
- * If not provided, will be detected from filename.
38
- */
39
- contentType?: string;
40
- /**
41
- * Content transfer encoding.
42
- * Examples: 'base64', '7bit', 'quoted-printable'.
43
- */
44
- encoding?: string;
45
- /**
46
- * Custom filename.
47
- * Used when different from the file path.
48
- */
49
- filename?: string;
50
- /**
51
- * Custom headers for this attachment.
52
- */
53
- headers?: Record<string, string>;
54
- }
55
- /**
56
- * Attachment data options (for raw data attachments)
57
- */
58
- export interface AttachmentDataOptions extends AttachmentOptions {
59
- /**
60
- * Filename for the attachment.
61
- * Required for raw data attachments.
62
- */
63
- filename: string;
64
- }