@visulima/email 1.0.0-alpha.2 → 1.0.0-alpha.21

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 (231) hide show
  1. package/CHANGELOG.md +246 -0
  2. package/LICENSE.md +536 -899
  3. package/README.md +36 -21
  4. package/dist/crypto/index.d.ts +147 -4
  5. package/dist/crypto/index.js +1 -1
  6. package/dist/index.d.ts +785 -9
  7. package/dist/index.js +1 -1
  8. package/dist/packem_shared/{DkimSigner-pFd4c3fZ.js → DkimSigner-CT2DSHD1.js} +4 -4
  9. package/dist/packem_shared/Mail-D93oo_9g.js +1 -0
  10. package/dist/packem_shared/MailMessage-BvaH5tZZ.js +1 -0
  11. package/dist/packem_shared/{SmimeEncrypter-CBevU534.js → SmimeEncrypter-ZhHEgDwY.js} +2 -2
  12. package/dist/packem_shared/{SmimeSigner-CObA4jzT.js → SmimeSigner-CYSVF6ez.js} +1 -1
  13. package/dist/packem_shared/{ahaSendProvider-DlFKEQ6D.js → ahaSendProvider-DOAAW65O.js} +1 -1
  14. package/dist/packem_shared/{attachment-processor-2rHmfa7j.js → attachment-processor-DsmIomKc.js} +1 -1
  15. package/dist/packem_shared/{awsSesProvider-Ba-eVJxZ.js → awsSesProvider-DX1630Ms.js} +7 -7
  16. package/dist/packem_shared/azureProvider-EkNYKAiF.js +1 -0
  17. package/dist/packem_shared/{brevoProvider-5p6jjiK9.js → brevoProvider-CkR4U4RD.js} +1 -1
  18. package/dist/packem_shared/build-mime-message-6xstxaUV.js +2 -0
  19. package/dist/packem_shared/defineProvider-CtLH0VBE.js +1 -0
  20. package/dist/packem_shared/detectMimeType-bo5oxfnt.js +1 -0
  21. package/dist/packem_shared/failoverProvider-W5ctAhdC.js +1 -0
  22. package/dist/packem_shared/httpProvider-DUg1AQfO.js +1 -0
  23. package/dist/packem_shared/{infobipProvider-CtLwrUaP.js → infobipProvider-BhTsWi7e.js} +1 -1
  24. package/dist/packem_shared/{mailCrabProvider-CM_CFDca.js → mailCrabProvider-B7H6HwWu.js} +1 -1
  25. package/dist/packem_shared/mailPaceProvider-DRt6Z9Hr.js +1 -0
  26. package/dist/packem_shared/{mailerSendProvider-CeeIXFnW.js → mailerSendProvider-Dx_iHInH.js} +1 -1
  27. package/dist/packem_shared/mailgunProvider-ChkLGZZW.js +1 -0
  28. package/dist/packem_shared/mailjetProvider-BMRhNe6H.js +1 -0
  29. package/dist/packem_shared/{mailomatProvider-DMQmjKHT.js → mailomatProvider-CydV-JB6.js} +1 -1
  30. package/dist/packem_shared/{mailtrapProvider-BN3UBEQw.js → mailtrapProvider-CuAfJWDr.js} +1 -1
  31. package/dist/packem_shared/{make-request-BDzF9W9D.js → make-request-CaT4d5oC.js} +1 -1
  32. package/dist/packem_shared/{mandrillProvider-370y7CLu.js → mandrillProvider-BBeLbaw0.js} +1 -1
  33. package/dist/packem_shared/mockProvider-C0P1lKOy.js +1 -0
  34. package/dist/packem_shared/{nodemailerProvider-_w8QXMU-.js → nodemailerProvider-DFcvoVFv.js} +1 -1
  35. package/dist/packem_shared/{opentelemetryProvider-C_ZXOLSd.js → opentelemetryProvider-Dwv88G3O.js} +1 -1
  36. package/dist/packem_shared/{plunkProvider-DfJumQ4U.js → plunkProvider-BQyjG6YT.js} +1 -1
  37. package/dist/packem_shared/{postalProvider-Bavx2FcH.js → postalProvider-DPHQ620q.js} +1 -1
  38. package/dist/packem_shared/{postmarkProvider-DFC0uvjO.js → postmarkProvider-bMTC2gdJ.js} +1 -1
  39. package/dist/packem_shared/provider.d-DcfYeGJJ.d.ts +28 -0
  40. package/dist/packem_shared/readFile-BAVMZg5e-C4whBIPd.js +1 -0
  41. package/dist/packem_shared/resendProvider-Cns1tvF5.js +1 -0
  42. package/dist/packem_shared/roundRobinProvider-FvZQKl6n.js +1 -0
  43. package/dist/packem_shared/{scalewayProvider-be1HPimL.js → scalewayProvider-O1dHz7iJ.js} +1 -1
  44. package/dist/packem_shared/{sendGridProvider-BVI1sq3n.js → sendGridProvider-DmywC-eT.js} +1 -1
  45. package/dist/packem_shared/{smtpProvider-BV-ufR53.js → smtpProvider-Unjao_fn.js} +8 -8
  46. package/dist/packem_shared/sweegoProvider-D086G6xG.js +1 -0
  47. package/dist/packem_shared/types.d-CNnnk-Ya.d.ts +102 -0
  48. package/dist/packem_shared/types.d-nyR1ty1Q.d.ts +9 -0
  49. package/dist/packem_shared/types.d-wwpgA3to.d.ts +204 -0
  50. package/dist/packem_shared/validate-email-options-DPo3SgC0.js +1 -0
  51. package/dist/packem_shared/zeptomailProvider-DKKEpEsW.js +1 -0
  52. package/dist/providers/ahasend/index.d.ts +36 -3
  53. package/dist/providers/ahasend/index.js +1 -1
  54. package/dist/providers/aws-ses/index.d.ts +47 -3
  55. package/dist/providers/aws-ses/index.js +1 -1
  56. package/dist/providers/azure/index.d.ts +52 -3
  57. package/dist/providers/azure/index.js +1 -1
  58. package/dist/providers/brevo/index.d.ts +65 -3
  59. package/dist/providers/brevo/index.js +1 -1
  60. package/dist/providers/failover/index.d.ts +27 -3
  61. package/dist/providers/failover/index.js +1 -1
  62. package/dist/providers/http/index.d.ts +35 -3
  63. package/dist/providers/http/index.js +1 -1
  64. package/dist/providers/infobip/index.d.ts +56 -3
  65. package/dist/providers/infobip/index.js +1 -1
  66. package/dist/providers/mailcrab/index.d.ts +32 -3
  67. package/dist/providers/mailcrab/index.js +1 -1
  68. package/dist/providers/mailersend/index.d.ts +51 -3
  69. package/dist/providers/mailersend/index.js +1 -1
  70. package/dist/providers/mailgun/index.d.ts +73 -3
  71. package/dist/providers/mailgun/index.js +1 -1
  72. package/dist/providers/mailjet/index.d.ts +72 -3
  73. package/dist/providers/mailjet/index.js +1 -1
  74. package/dist/providers/mailomat/index.d.ts +40 -3
  75. package/dist/providers/mailomat/index.js +1 -1
  76. package/dist/providers/mailpace/index.d.ts +52 -3
  77. package/dist/providers/mailpace/index.js +1 -1
  78. package/dist/providers/mailtrap/index.d.ts +44 -3
  79. package/dist/providers/mailtrap/index.js +1 -1
  80. package/dist/providers/mandrill/index.d.ts +87 -3
  81. package/dist/providers/mandrill/index.js +1 -1
  82. package/dist/providers/mock/index.d.ts +59 -3
  83. package/dist/providers/mock/index.js +1 -1
  84. package/dist/providers/nodemailer/index.d.ts +38 -3
  85. package/dist/providers/nodemailer/index.js +1 -1
  86. package/dist/providers/opentelemetry/index.d.ts +529 -3
  87. package/dist/providers/opentelemetry/index.js +1 -1
  88. package/dist/providers/plunk/index.d.ts +38 -3
  89. package/dist/providers/plunk/index.js +1 -1
  90. package/dist/providers/postal/index.d.ts +48 -3
  91. package/dist/providers/postal/index.js +1 -1
  92. package/dist/providers/postmark/index.d.ts +60 -3
  93. package/dist/providers/postmark/index.js +1 -1
  94. package/dist/providers/resend/index.d.ts +51 -3
  95. package/dist/providers/resend/index.js +1 -1
  96. package/dist/providers/roundrobin/index.d.ts +27 -3
  97. package/dist/providers/roundrobin/index.js +1 -1
  98. package/dist/providers/scaleway/index.d.ts +44 -3
  99. package/dist/providers/scaleway/index.js +1 -1
  100. package/dist/providers/sendgrid/index.d.ts +84 -3
  101. package/dist/providers/sendgrid/index.js +1 -1
  102. package/dist/providers/smtp/index.d.ts +71 -3
  103. package/dist/providers/smtp/index.js +1 -1
  104. package/dist/providers/sweego/index.d.ts +40 -3
  105. package/dist/providers/sweego/index.js +1 -1
  106. package/dist/providers/zeptomail/index.d.ts +37 -3
  107. package/dist/providers/zeptomail/index.js +1 -1
  108. package/dist/template-engines/handlebars.d.ts +23 -22
  109. package/dist/template-engines/handlebars.js +1 -1
  110. package/dist/template-engines/html-to-text.d.ts +24 -24
  111. package/dist/template-engines/mjml.d.ts +10 -10
  112. package/dist/template-engines/react-email.d.ts +9 -9
  113. package/dist/template-engines/vue-email.d.ts +9 -9
  114. package/dist/utils/cache.d.ts +49 -48
  115. package/dist/utils/format-email-address.d.ts +8 -7
  116. package/dist/utils/normalize-email-aliases.d.ts +20 -20
  117. package/dist/utils/parse-address.d.ts +18 -17
  118. package/dist/utils/parse-address.js +1 -1
  119. package/dist/utils/validation/check-mx-records.d.ts +36 -35
  120. package/dist/utils/validation/disposable-email-domains.d.ts +1 -13
  121. package/dist/utils/validation/role-accounts.d.ts +18 -18
  122. package/dist/utils/validation/validate-email.d.ts +5 -5
  123. package/dist/utils/validation/verify-email.d.ts +45 -42
  124. package/dist/utils/validation/verify-email.js +1 -1
  125. package/dist/utils/validation/verify-smtp.d.ts +35 -34
  126. package/dist/utils/validation/verify-smtp.js +1 -1
  127. package/package.json +61 -61
  128. package/dist/attachment-helpers.d.ts +0 -64
  129. package/dist/crypto/dkim-signer.d.ts +0 -48
  130. package/dist/crypto/smime-encrypter.d.ts +0 -53
  131. package/dist/crypto/smime-signer.d.ts +0 -48
  132. package/dist/crypto/types.d.ts +0 -101
  133. package/dist/draft-mail-message.d.ts +0 -13
  134. package/dist/errors/email-error.d.ts +0 -17
  135. package/dist/errors/required-option-error.d.ts +0 -10
  136. package/dist/mail-message.d.ts +0 -425
  137. package/dist/mail.d.ts +0 -206
  138. package/dist/packem_shared/Mail-6Bltpy_p.js +0 -1
  139. package/dist/packem_shared/MailMessage-B76GPBBA.js +0 -1
  140. package/dist/packem_shared/azureProvider-CQYAkgVF.js +0 -1
  141. package/dist/packem_shared/build-mime-message-IYaUqqPJ.js +0 -2
  142. package/dist/packem_shared/defineProvider-B9rSklAJ.js +0 -1
  143. package/dist/packem_shared/detectMimeType-S8WRsNtY.js +0 -1
  144. package/dist/packem_shared/failoverProvider-CAHQQueo.js +0 -1
  145. package/dist/packem_shared/httpProvider-CZD6LZX3.js +0 -1
  146. package/dist/packem_shared/mailPaceProvider-B6yKvh6z.js +0 -1
  147. package/dist/packem_shared/mailgunProvider-mmjKzouh.js +0 -1
  148. package/dist/packem_shared/mailjetProvider-DwN6i0VA.js +0 -1
  149. package/dist/packem_shared/mockProvider-DN5ZwutD.js +0 -1
  150. package/dist/packem_shared/readFile-BlZxbhCU-C8bCdiA2.js +0 -1
  151. package/dist/packem_shared/resendProvider-CfqU7UdE.js +0 -1
  152. package/dist/packem_shared/roundRobinProvider-1WQnuKR8.js +0 -1
  153. package/dist/packem_shared/sweegoProvider-7419CSAq.js +0 -1
  154. package/dist/packem_shared/validate-email-options-DfJ7llf8.js +0 -1
  155. package/dist/packem_shared/zeptomailProvider-C2lh0Xmo.js +0 -1
  156. package/dist/providers/ahasend/provider.d.ts +0 -7
  157. package/dist/providers/ahasend/types.d.ts +0 -28
  158. package/dist/providers/aws-ses/provider.d.ts +0 -8
  159. package/dist/providers/aws-ses/types.d.ts +0 -38
  160. package/dist/providers/azure/provider.d.ts +0 -7
  161. package/dist/providers/azure/types.d.ts +0 -44
  162. package/dist/providers/brevo/provider.d.ts +0 -7
  163. package/dist/providers/brevo/types.d.ts +0 -57
  164. package/dist/providers/failover/provider.d.ts +0 -7
  165. package/dist/providers/failover/types.d.ts +0 -19
  166. package/dist/providers/http/provider.d.ts +0 -7
  167. package/dist/providers/http/types.d.ts +0 -27
  168. package/dist/providers/infobip/provider.d.ts +0 -7
  169. package/dist/providers/infobip/types.d.ts +0 -48
  170. package/dist/providers/mailcrab/provider.d.ts +0 -9
  171. package/dist/providers/mailcrab/types.d.ts +0 -22
  172. package/dist/providers/mailersend/provider.d.ts +0 -7
  173. package/dist/providers/mailersend/types.d.ts +0 -43
  174. package/dist/providers/mailgun/provider.d.ts +0 -7
  175. package/dist/providers/mailgun/types.d.ts +0 -65
  176. package/dist/providers/mailjet/provider.d.ts +0 -7
  177. package/dist/providers/mailjet/types.d.ts +0 -64
  178. package/dist/providers/mailomat/provider.d.ts +0 -7
  179. package/dist/providers/mailomat/types.d.ts +0 -32
  180. package/dist/providers/mailpace/provider.d.ts +0 -7
  181. package/dist/providers/mailpace/types.d.ts +0 -44
  182. package/dist/providers/mailtrap/provider.d.ts +0 -7
  183. package/dist/providers/mailtrap/types.d.ts +0 -36
  184. package/dist/providers/mandrill/provider.d.ts +0 -7
  185. package/dist/providers/mandrill/types.d.ts +0 -79
  186. package/dist/providers/mock/provider.d.ts +0 -8
  187. package/dist/providers/mock/types.d.ts +0 -50
  188. package/dist/providers/nodemailer/provider.d.ts +0 -7
  189. package/dist/providers/nodemailer/types.d.ts +0 -30
  190. package/dist/providers/opentelemetry/provider.d.ts +0 -8
  191. package/dist/providers/opentelemetry/types.d.ts +0 -31
  192. package/dist/providers/plunk/provider.d.ts +0 -7
  193. package/dist/providers/plunk/types.d.ts +0 -30
  194. package/dist/providers/postal/provider.d.ts +0 -7
  195. package/dist/providers/postal/types.d.ts +0 -40
  196. package/dist/providers/postmark/provider.d.ts +0 -7
  197. package/dist/providers/postmark/types.d.ts +0 -52
  198. package/dist/providers/provider.d.ts +0 -27
  199. package/dist/providers/resend/provider.d.ts +0 -7
  200. package/dist/providers/resend/types.d.ts +0 -43
  201. package/dist/providers/roundrobin/provider.d.ts +0 -7
  202. package/dist/providers/roundrobin/types.d.ts +0 -19
  203. package/dist/providers/scaleway/provider.d.ts +0 -7
  204. package/dist/providers/scaleway/types.d.ts +0 -36
  205. package/dist/providers/sendgrid/provider.d.ts +0 -7
  206. package/dist/providers/sendgrid/types.d.ts +0 -76
  207. package/dist/providers/smtp/provider.d.ts +0 -7
  208. package/dist/providers/smtp/types.d.ts +0 -63
  209. package/dist/providers/sweego/provider.d.ts +0 -7
  210. package/dist/providers/sweego/types.d.ts +0 -32
  211. package/dist/providers/utils/address-formatter.d.ts +0 -139
  212. package/dist/providers/utils/attachment-processor.d.ts +0 -58
  213. package/dist/providers/utils/index.d.ts +0 -4
  214. package/dist/providers/utils/payload-builder.d.ts +0 -78
  215. package/dist/providers/utils/provider-base.d.ts +0 -69
  216. package/dist/providers/zeptomail/provider.d.ts +0 -7
  217. package/dist/providers/zeptomail/types.d.ts +0 -29
  218. package/dist/template-engines/types.d.ts +0 -8
  219. package/dist/types.d.ts +0 -203
  220. package/dist/utils/build-mime-message.d.ts +0 -8
  221. package/dist/utils/create-logger.d.ts +0 -16
  222. package/dist/utils/format-email-addresses.d.ts +0 -8
  223. package/dist/utils/generate-boundary.d.ts +0 -7
  224. package/dist/utils/generate-message-id.d.ts +0 -6
  225. package/dist/utils/headers-to-record.d.ts +0 -9
  226. package/dist/utils/is-port-available.d.ts +0 -9
  227. package/dist/utils/make-request.d.ts +0 -18
  228. package/dist/utils/retry.d.ts +0 -10
  229. package/dist/utils/sanitize-header.d.ts +0 -14
  230. package/dist/utils/to-base64.d.ts +0 -8
  231. package/dist/utils/validation/validate-email-options.d.ts +0 -8
@@ -1,43 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * MailerSend configuration
4
- */
5
- export interface MailerSendConfig extends BaseConfig {
6
- /**
7
- * MailerSend API token
8
- */
9
- apiToken: string;
10
- /**
11
- * MailerSend API endpoint
12
- * Defaults to: https://api.mailersend.com
13
- */
14
- endpoint?: string;
15
- }
16
- /**
17
- * MailerSend-specific email options
18
- */
19
- export interface MailerSendEmailOptions extends EmailOptions {
20
- /**
21
- * Domain ID (optional, for domain-specific sending)
22
- */
23
- domainId?: string;
24
- /**
25
- * Personalization (per-recipient variables)
26
- */
27
- personalization?: {
28
- data: Record<string, unknown>;
29
- email: string;
30
- }[];
31
- /**
32
- * Scheduled at (Unix timestamp)
33
- */
34
- scheduledAt?: number;
35
- /**
36
- * MailerSend template ID for template-based emails
37
- */
38
- templateId?: string;
39
- /**
40
- * Template variables for MailerSend templates
41
- */
42
- templateVariables?: Record<string, unknown>;
43
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MailgunConfig, MailgunEmailOptions } from "./types.d.ts";
3
- /**
4
- * Mailgun Provider for sending emails through Mailgun API
5
- */
6
- declare const mailgunProvider: ProviderFactory<MailgunConfig, unknown, MailgunEmailOptions>;
7
- export default mailgunProvider;
@@ -1,65 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Mailgun configuration
4
- */
5
- export interface MailgunConfig extends BaseConfig {
6
- /**
7
- * Mailgun API key
8
- */
9
- apiKey: string;
10
- /**
11
- * Mailgun domain (required for sending emails)
12
- */
13
- domain: string;
14
- /**
15
- * Mailgun API endpoint
16
- * Defaults to US endpoint: https://api.mailgun.net
17
- * Use https://api.eu.mailgun.net for EU accounts
18
- */
19
- endpoint?: string;
20
- }
21
- /**
22
- * Mailgun-specific email options
23
- */
24
- export interface MailgunEmailOptions extends EmailOptions {
25
- /**
26
- * Campaign ID for tracking
27
- */
28
- campaignId?: string;
29
- /**
30
- * Enable/disable click tracking
31
- */
32
- clickTracking?: boolean;
33
- /**
34
- * Delivery time (Unix timestamp or RFC 2822 date)
35
- */
36
- deliveryTime?: string | number;
37
- /**
38
- * Enable/disable open tracking
39
- */
40
- openTracking?: boolean;
41
- /**
42
- * Require TLS
43
- */
44
- requireTls?: boolean;
45
- /**
46
- * Skip verification
47
- */
48
- skipVerification?: boolean;
49
- /**
50
- * Mailgun template name
51
- */
52
- template?: string;
53
- /**
54
- * Template variables for Mailgun templates
55
- */
56
- templateVariables?: Record<string, unknown>;
57
- /**
58
- * Test mode - emails won't actually be sent
59
- */
60
- testMode?: boolean;
61
- /**
62
- * Enable/disable unsubscribe tracking
63
- */
64
- unsubscribeTracking?: boolean;
65
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MailjetConfig, MailjetEmailOptions } from "./types.d.ts";
3
- /**
4
- * Mailjet Provider for sending emails through Mailjet API.
5
- */
6
- declare const provider: ProviderFactory<MailjetConfig, unknown, MailjetEmailOptions>;
7
- export default provider;
@@ -1,64 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Mailjet configuration
4
- */
5
- export interface MailjetConfig extends BaseConfig {
6
- /**
7
- * Mailjet API Key
8
- */
9
- apiKey: string;
10
- /**
11
- * Mailjet API Secret
12
- */
13
- apiSecret: string;
14
- /**
15
- * Mailjet API endpoint
16
- * Defaults to: https://api.mailjet.com
17
- */
18
- endpoint?: string;
19
- }
20
- /**
21
- * Mailjet-specific email options
22
- */
23
- export interface MailjetEmailOptions extends Omit<EmailOptions, "priority"> {
24
- /**
25
- * Custom campaign name
26
- */
27
- campaign?: string;
28
- /**
29
- * Custom ID for tracking
30
- */
31
- customId?: string;
32
- /**
33
- * Deduplicate campaign (prevent duplicate emails)
34
- */
35
- deduplicateCampaign?: boolean;
36
- /**
37
- * Delivery time (Unix timestamp)
38
- */
39
- deliveryTime?: number;
40
- /**
41
- * Event payload (for webhooks)
42
- */
43
- eventPayload?: string;
44
- /**
45
- * Priority (1-5, where 1 is highest)
46
- */
47
- priority?: number;
48
- /**
49
- * Mailjet template ID for template-based emails
50
- */
51
- templateId?: number;
52
- /**
53
- * Template language (for multilingual templates)
54
- */
55
- templateLanguage?: boolean;
56
- /**
57
- * Template variables for Mailjet templates
58
- */
59
- templateVariables?: Record<string, unknown>;
60
- /**
61
- * URL tags (for tracking)
62
- */
63
- urlTags?: Record<string, string>;
64
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MailomatConfig, MailomatEmailOptions } from "./types.d.ts";
3
- /**
4
- * Mailomat Provider for sending emails through Mailomat API.
5
- */
6
- declare const mailomatProvider: ProviderFactory<MailomatConfig, unknown, MailomatEmailOptions>;
7
- export default mailomatProvider;
@@ -1,32 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Mailomat configuration
4
- */
5
- export interface MailomatConfig extends BaseConfig {
6
- /**
7
- * Mailomat API key
8
- */
9
- apiKey: string;
10
- /**
11
- * Mailomat API endpoint
12
- * Defaults to: https://api.mailomat.com
13
- */
14
- endpoint?: string;
15
- }
16
- /**
17
- * Mailomat-specific email options
18
- */
19
- export interface MailomatEmailOptions extends EmailOptions {
20
- /**
21
- * Tags for categorization
22
- */
23
- tags?: string[];
24
- /**
25
- * Mailomat template ID for template-based emails
26
- */
27
- templateId?: string;
28
- /**
29
- * Template variables for Mailomat templates
30
- */
31
- templateVariables?: Record<string, unknown>;
32
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MailPaceConfig, MailPaceEmailOptions } from "./types.d.ts";
3
- /**
4
- * MailPace Provider for sending emails through MailPace API.
5
- */
6
- declare const mailPaceProvider: ProviderFactory<MailPaceConfig, unknown, MailPaceEmailOptions>;
7
- export default mailPaceProvider;
@@ -1,44 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * MailPace configuration
4
- */
5
- export interface MailPaceConfig extends BaseConfig {
6
- /**
7
- * MailPace API token
8
- */
9
- apiToken: string;
10
- /**
11
- * MailPace API endpoint
12
- * Defaults to: https://app.mailpace.com/api/v1
13
- */
14
- endpoint?: string;
15
- }
16
- /**
17
- * MailPace-specific email options
18
- */
19
- export interface MailPaceEmailOptions extends Omit<EmailOptions, "attachments"> {
20
- /**
21
- * Attachments (MailPace specific format)
22
- */
23
- attachments?: {
24
- content: string;
25
- content_type?: string;
26
- name: string;
27
- }[];
28
- /**
29
- * List unsubscribe header
30
- */
31
- listUnsubscribe?: string;
32
- /**
33
- * Tags for categorization
34
- */
35
- tags?: string[];
36
- /**
37
- * MailPace template ID for template-based emails
38
- */
39
- templateId?: number;
40
- /**
41
- * Template variables for MailPace templates
42
- */
43
- templateVariables?: Record<string, unknown>;
44
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MailtrapConfig, MailtrapEmailOptions } from "./types.d.ts";
3
- /**
4
- * Mailtrap Provider for sending emails through Mailtrap API
5
- */
6
- declare const mailtrapProvider: ProviderFactory<MailtrapConfig, unknown, MailtrapEmailOptions>;
7
- export default mailtrapProvider;
@@ -1,36 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Mailtrap configuration
4
- */
5
- export interface MailtrapConfig extends BaseConfig {
6
- /**
7
- * Mailtrap API token
8
- */
9
- apiToken: string;
10
- /**
11
- * Mailtrap API endpoint
12
- * Defaults to: https://send.api.mailtrap.io
13
- */
14
- endpoint?: string;
15
- }
16
- /**
17
- * Mailtrap-specific email options
18
- */
19
- export interface MailtrapEmailOptions extends EmailOptions {
20
- /**
21
- * Category for categorization
22
- */
23
- category?: string;
24
- /**
25
- * Custom variables (key-value pairs)
26
- */
27
- customVariables?: Record<string, unknown>;
28
- /**
29
- * Mailtrap template UUID for template-based emails
30
- */
31
- templateUuid?: string;
32
- /**
33
- * Template variables for Mailtrap templates
34
- */
35
- templateVariables?: Record<string, unknown>;
36
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MandrillConfig, MandrillEmailOptions } from "./types.d.ts";
3
- /**
4
- * Mandrill Provider for sending emails through Mandrill API
5
- */
6
- declare const mandrillProvider: ProviderFactory<MandrillConfig, unknown, MandrillEmailOptions>;
7
- export default mandrillProvider;
@@ -1,79 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Mandrill configuration
4
- */
5
- export interface MandrillConfig extends BaseConfig {
6
- /**
7
- * Mandrill API key
8
- */
9
- apiKey: string;
10
- /**
11
- * Mandrill API endpoint
12
- * Defaults to: https://mandrillapp.com/api/1.0
13
- */
14
- endpoint?: string;
15
- }
16
- /**
17
- * Mandrill-specific email options
18
- */
19
- export interface MandrillEmailOptions extends EmailOptions {
20
- /**
21
- * Global merge variables
22
- */
23
- globalMergeVars?: {
24
- content: unknown;
25
- name: string;
26
- }[];
27
- /**
28
- * Google Analytics campaign
29
- */
30
- googleAnalyticsCampaign?: string;
31
- /**
32
- * Google Analytics domains
33
- */
34
- googleAnalyticsDomains?: string[];
35
- /**
36
- * Per-recipient merge variables
37
- */
38
- mergeVars?: {
39
- rcpt: string;
40
- vars: {
41
- content: unknown;
42
- name: string;
43
- }[];
44
- }[];
45
- /**
46
- * Metadata (key-value pairs)
47
- */
48
- metadata?: Record<string, string>;
49
- /**
50
- * Send at timestamp (ISO 8601 format)
51
- */
52
- sendAt?: string;
53
- /**
54
- * Subaccount ID
55
- */
56
- subaccount?: string;
57
- /**
58
- * Tags for categorization
59
- */
60
- tags?: string[];
61
- /**
62
- * Template content (for template-based emails)
63
- */
64
- templateContent?: {
65
- content: string;
66
- name: string;
67
- }[];
68
- /**
69
- * Mandrill template name
70
- */
71
- templateName?: string;
72
- /**
73
- * Template variables (merge vars)
74
- */
75
- templateVariables?: {
76
- content: unknown;
77
- name: string;
78
- }[];
79
- }
@@ -1,8 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { MockConfig, MockEmailEntry, MockEmailOptions } from "./types.d.ts";
3
- /**
4
- * Mock Provider for testing emails without actually sending them
5
- * Stores emails in memory for later retrieval and inspection
6
- */
7
- declare const mockProvider: ProviderFactory<MockConfig, MockEmailEntry[], MockEmailOptions>;
8
- export default mockProvider;
@@ -1,50 +0,0 @@
1
- import type { BaseConfig, EmailOptions, EmailResult, Receipt } from "../../types.d.ts";
2
- /**
3
- * Random delay range configuration
4
- */
5
- export interface RandomDelayRange {
6
- max: number;
7
- min: number;
8
- }
9
- /**
10
- * Mock configuration for testing
11
- */
12
- export interface MockConfig extends BaseConfig {
13
- /**
14
- * Default response to return for send operations
15
- */
16
- defaultResponse?: Receipt;
17
- /**
18
- * Delay in milliseconds before resolving (default: 0)
19
- * Useful for testing async behavior
20
- */
21
- delay?: number;
22
- /**
23
- * Failure rate (0-1) for simulating random failures (default: 0)
24
- * 0 = never fail, 1 = always fail
25
- */
26
- failureRate?: number;
27
- /**
28
- * Random delay range in milliseconds
29
- * When set, delay will be randomly chosen between min and max
30
- */
31
- randomDelayRange?: RandomDelayRange;
32
- /**
33
- * Whether to simulate failures (default: false)
34
- * When true, sendEmail will return an error
35
- */
36
- simulateFailure?: boolean;
37
- }
38
- /**
39
- * Mock-specific email options
40
- */
41
- export type MockEmailOptions = EmailOptions;
42
- /**
43
- * Stored email entry in mock provider
44
- */
45
- export interface MockEmailEntry {
46
- id: string;
47
- options: EmailOptions;
48
- result: EmailResult;
49
- timestamp: Date;
50
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { NodemailerConfig, NodemailerEmailOptions } from "./types.d.ts";
3
- /**
4
- * Nodemailer Provider for sending emails via nodemailer
5
- */
6
- declare const nodemailerProvider: ProviderFactory<NodemailerConfig, unknown, NodemailerEmailOptions>;
7
- export default nodemailerProvider;
@@ -1,30 +0,0 @@
1
- import type { BaseConfig, EmailAddress, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Nodemailer configuration
4
- * Accepts any nodemailer transport configuration
5
- * Common transports: SMTP, Sendmail, SES, etc.
6
- */
7
- export interface NodemailerConfig extends BaseConfig {
8
- /**
9
- * Default from address (optional, can be overridden per email)
10
- */
11
- defaultFrom?: EmailAddress;
12
- /**
13
- * Nodemailer transport configuration
14
- * Can be a transport object or a transport name (e.g., 'smtp', 'sendmail')
15
- * For SMTP: { host, port, secure, auth: { user, pass } }
16
- * For Sendmail: { path: '/usr/sbin/sendmail' }
17
- * For SES: { SES: { ... } }
18
- * See: https://nodemailer.com/transports/
19
- */
20
- transport: Record<string, unknown> | string;
21
- }
22
- /**
23
- * Nodemailer-specific email options
24
- */
25
- export interface NodemailerEmailOptions extends EmailOptions {
26
- /**
27
- * Override transport for this specific email
28
- */
29
- transportOverride?: Record<string, unknown> | string;
30
- }
@@ -1,8 +0,0 @@
1
- import type { EmailOptions } from "../../types.d.ts";
2
- import type { Provider, ProviderFactory } from "../provider.d.ts";
3
- import type { OpenTelemetryConfig } from "./types.d.ts";
4
- /**
5
- * OpenTelemetry Provider for instrumenting email sending with OpenTelemetry traces and metrics
6
- */
7
- declare const opentelemetryProvider: ProviderFactory<OpenTelemetryConfig, Provider<unknown, unknown, EmailOptions>, EmailOptions>;
8
- export default opentelemetryProvider;
@@ -1,31 +0,0 @@
1
- import type { Tracer } from "@opentelemetry/api";
2
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
3
- import type { Provider, ProviderFactory } from "../provider.d.ts";
4
- /**
5
- * OpenTelemetry configuration
6
- */
7
- export interface OpenTelemetryConfig extends BaseConfig {
8
- /**
9
- * The provider to wrap with OpenTelemetry instrumentation
10
- * Can be a Provider instance or ProviderFactory function
11
- */
12
- provider: Provider | ProviderFactory;
13
- /**
14
- * Whether to record email content in spans (default: false)
15
- * When false, only metadata is recorded
16
- */
17
- recordContent?: boolean;
18
- /**
19
- * Service name for OpenTelemetry spans (default: "email")
20
- */
21
- serviceName?: string;
22
- /**
23
- * Optional OpenTelemetry tracer instance
24
- * If not provided, uses the global tracer
25
- */
26
- tracer?: Tracer;
27
- }
28
- /**
29
- * OpenTelemetry-specific email options
30
- */
31
- export type OpenTelemetryEmailOptions = EmailOptions;
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { PlunkConfig, PlunkEmailOptions } from "./types.d.ts";
3
- /**
4
- * Plunk Provider for sending emails through Plunk API.
5
- */
6
- declare const plunkProvider: ProviderFactory<PlunkConfig, unknown, PlunkEmailOptions>;
7
- export default plunkProvider;
@@ -1,30 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Plunk configuration
4
- */
5
- export interface PlunkConfig extends BaseConfig {
6
- apiKey: string;
7
- endpoint?: string;
8
- }
9
- /**
10
- * Plunk-specific email options
11
- */
12
- export interface PlunkEmailOptions extends EmailOptions {
13
- /**
14
- * Data to pass to the email template
15
- */
16
- data?: Record<string, unknown>;
17
- /**
18
- * Subscriber email (used for tracking and analytics)
19
- * If not provided, uses the first 'to' address
20
- */
21
- subscriber?: string;
22
- /**
23
- * Subscriber ID (optional identifier for the subscriber)
24
- */
25
- subscriberId?: string;
26
- /**
27
- * Template ID for template-based emails
28
- */
29
- templateId?: string;
30
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { PostalConfig, PostalEmailOptions } from "./types.d.ts";
3
- /**
4
- * Postal Provider for sending emails through Postal API.
5
- */
6
- declare const postalProvider: ProviderFactory<PostalConfig, unknown, PostalEmailOptions>;
7
- export default postalProvider;
@@ -1,40 +0,0 @@
1
- import type { BaseConfig, EmailOptions } from "../../types.d.ts";
2
- /**
3
- * Postal configuration
4
- */
5
- export interface PostalConfig extends BaseConfig {
6
- /**
7
- * Postal server API key
8
- */
9
- apiKey: string;
10
- /**
11
- * Postal API endpoint
12
- * Defaults to: https://{host}/api/v1
13
- */
14
- endpoint?: string;
15
- /**
16
- * Postal server host
17
- */
18
- host: string;
19
- }
20
- /**
21
- * Postal-specific email options
22
- */
23
- export interface PostalEmailOptions extends EmailOptions {
24
- /**
25
- * Postal message ID (for tracking)
26
- */
27
- postalMessageId?: string;
28
- /**
29
- * Tags for categorization
30
- */
31
- tags?: string[];
32
- /**
33
- * Postal template ID for template-based emails
34
- */
35
- templateId?: number;
36
- /**
37
- * Template variables for Postal templates
38
- */
39
- templateVariables?: Record<string, unknown>;
40
- }
@@ -1,7 +0,0 @@
1
- import type { ProviderFactory } from "../provider.d.ts";
2
- import type { PostmarkConfig, PostmarkEmailOptions } from "./types.d.ts";
3
- /**
4
- * Postmark Provider for sending emails through Postmark API.
5
- */
6
- declare const postmarkProvider: ProviderFactory<PostmarkConfig, unknown, PostmarkEmailOptions>;
7
- export default postmarkProvider;