@impruthvi/nodemail 0.7.0 → 1.0.0

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/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm version](https://badge.fury.io/js/@impruthvi%2Fnodemail.svg)](https://www.npmjs.com/package/@impruthvi/nodemail)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue.svg)](https://www.typescriptlang.org/)
6
- [![Tests](https://img.shields.io/badge/tests-246%20passing-brightgreen)](https://github.com/impruthvi/nodemail)
6
+ [![Tests](https://img.shields.io/badge/tests-269%20passing-brightgreen)](https://github.com/impruthvi/nodemail)
7
7
  [![Coverage](https://img.shields.io/badge/coverage-85%25-brightgreen)](https://github.com/impruthvi/nodemail)
8
8
 
9
9
  **@impruthvi/nodemail** brings the simplicity and elegance of Laravel's Mail system to the Node.js ecosystem with full TypeScript support.
@@ -20,12 +20,13 @@ Inspired by [Laravel's Mail system](https://laravel.com/docs/mail).
20
20
 
21
21
  ## ✨ Features
22
22
 
23
- ### ✅ Available Now (v0.7.0)
23
+ ### ✅ Available Now (v1.0.0)
24
24
  - 🎯 **Multiple Providers** - SMTP (Nodemailer), SendGrid, AWS SES, Mailgun, Resend, Postmark
25
25
  - 🎨 **Template Engines** - Handlebars, EJS, Pug support with dynamic loading
26
26
  - 📝 **Mailable Classes** - Reusable email definitions with template support
27
27
  - 📋 **Markdown Mail** - Write emails in Markdown with components (button, panel, table)
28
28
  - 📦 **Queue Support** - Background email sending with Bull/BullMQ
29
+ - 🔄 **Provider Failover** - Automatic failover chain with retries, delays, and callbacks
29
30
  - 🧪 **Testing Utilities** - Mail::fake() for testing (Laravel-style assertions)
30
31
  - 🪶 **Lightweight** - Only ~25MB with SMTP, install additional providers as needed
31
32
  - 🔒 **Type-Safe** - Full TypeScript support with strict typing
@@ -47,7 +48,7 @@ npm install @impruthvi/nodemail
47
48
 
48
49
  Or install a specific version:
49
50
  ```bash
50
- npm install @impruthvi/nodemail@0.7.0
51
+ npm install @impruthvi/nodemail@1.0.0
51
52
  ```
52
53
 
53
54
  **Lightweight by default!** Only includes SMTP support (~25MB).
@@ -417,6 +418,118 @@ await Mail.to('user@example.com').at(new Date('2026-12-25'), new ChristmasEmail(
417
418
  await Mail.processQueue();
418
419
  ```
419
420
 
421
+ ## 🔄 Provider Failover
422
+
423
+ Automatically fail over to backup providers when the primary provider fails. Supports retries, delays, and monitoring callbacks.
424
+
425
+ ### Global Failover Configuration
426
+
427
+ ```typescript
428
+ Mail.configure({
429
+ default: 'smtp',
430
+ from: { address: 'noreply@example.com', name: 'My App' },
431
+ mailers: {
432
+ smtp: {
433
+ driver: 'smtp',
434
+ host: process.env.SMTP_HOST,
435
+ port: 587,
436
+ auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS },
437
+ },
438
+ sendgrid: {
439
+ driver: 'sendgrid',
440
+ apiKey: process.env.SENDGRID_API_KEY,
441
+ },
442
+ ses: {
443
+ driver: 'ses',
444
+ region: 'us-east-1',
445
+ accessKeyId: process.env.AWS_ACCESS_KEY_ID,
446
+ secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
447
+ },
448
+ },
449
+ failover: {
450
+ chain: ['sendgrid', 'ses'],
451
+ maxRetriesPerProvider: 2,
452
+ retryDelay: 1000,
453
+ failoverDelay: 500,
454
+ },
455
+ });
456
+
457
+ // Sends via SMTP first; if SMTP fails (after 2 retries), tries SendGrid, then SES
458
+ await Mail.to('user@example.com')
459
+ .subject('Hello!')
460
+ .html('<h1>Hello!</h1>')
461
+ .send();
462
+ ```
463
+
464
+ ### Per-mailer Failover Override
465
+
466
+ Override the global failover config for a specific mailer:
467
+
468
+ ```typescript
469
+ Mail.configure({
470
+ default: 'smtp',
471
+ mailers: {
472
+ smtp: {
473
+ driver: 'smtp',
474
+ host: process.env.SMTP_HOST,
475
+ port: 587,
476
+ auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS },
477
+ failover: {
478
+ chain: ['postmark'], // Only fail over to Postmark for SMTP
479
+ maxRetriesPerProvider: 3,
480
+ },
481
+ },
482
+ postmark: {
483
+ driver: 'postmark',
484
+ serverToken: process.env.POSTMARK_SERVER_TOKEN,
485
+ },
486
+ },
487
+ });
488
+ ```
489
+
490
+ ### onFailover Callback
491
+
492
+ Monitor failover events for logging or alerting:
493
+
494
+ ```typescript
495
+ Mail.configure({
496
+ // ... mailer config
497
+ failover: {
498
+ chain: ['sendgrid', 'ses'],
499
+ onFailover: (event) => {
500
+ console.log(`Failover: ${event.failedMailer} → ${event.nextMailer}`);
501
+ console.log(`Error: ${event.error}`);
502
+ console.log(`Attempt: ${event.attemptIndex}, Time: ${event.timestamp}`);
503
+ },
504
+ },
505
+ });
506
+ ```
507
+
508
+ ### Response Metadata
509
+
510
+ After sending, the response includes failover details:
511
+
512
+ ```typescript
513
+ const result = await Mail.to('user@example.com')
514
+ .subject('Hello!')
515
+ .html('<h1>Hello!</h1>')
516
+ .send();
517
+
518
+ console.log(result.provider); // 'sendgrid' (which provider actually sent)
519
+ console.log(result.failoverUsed); // true (failover was triggered)
520
+ console.log(result.failoverAttempts); // Array of FailoverDetail objects
521
+ ```
522
+
523
+ ### FailoverConfig Reference
524
+
525
+ | Property | Type | Default | Description |
526
+ |----------|------|---------|-------------|
527
+ | `chain` | `string[]` | (required) | Ordered list of backup mailer names |
528
+ | `maxRetriesPerProvider` | `number` | `1` | Retries per provider before moving to the next |
529
+ | `retryDelay` | `number` | `0` | Delay (ms) between retries on the same provider |
530
+ | `failoverDelay` | `number` | `0` | Delay (ms) before switching to the next provider |
531
+ | `onFailover` | `(event: FailoverEvent) => void` | — | Callback fired on each failover transition |
532
+
420
533
  ## 📨 Complete Fluent API
421
534
 
422
535
  ```typescript
@@ -541,6 +654,10 @@ describe('User Registration', () => {
541
654
  | `Mail.assertNothingQueued()` | Assert nothing was queued |
542
655
  | `Mail.sent()` | Get all sent messages |
543
656
  | `Mail.sent(Mailable)` | Get sent messages of specific type |
657
+ | `Mail.hasSent()` | Check if any messages were sent |
658
+ | `Mail.hasQueued()` | Check if any messages were queued |
659
+ | `Mail.simulateFailures(n)` | Simulate failures for the first N sends |
660
+ | `Mail.resetFailures()` | Clear failure simulation state |
544
661
 
545
662
  ### AssertableMessage Methods
546
663
 
@@ -565,6 +682,11 @@ sent.isMarkdown(); // Was built from markdown
565
682
  sent.getMarkdown(); // Get raw markdown source
566
683
  sent.markdownContains('[button'); // Markdown source contains
567
684
 
685
+ // Check failover
686
+ sent.wasFailoverUsed(); // Whether failover was triggered
687
+ sent.getProvider(); // Provider that actually sent
688
+ sent.getFailoverAttempts(); // Array of FailoverDetail objects
689
+
568
690
  // Check attachments
569
691
  sent.hasAttachments(); // Has any attachments
570
692
  sent.hasAttachment('file.pdf'); // Has specific attachment
@@ -630,9 +752,18 @@ sent.getHtml(); // Get HTML content
630
752
  - ✅ Default responsive email theme
631
753
  - ✅ Custom themes and CSS support
632
754
  - ✅ AssertableMessage markdown assertions
633
- - ✅ 246 passing tests
634
755
 
635
- **Phase 8+** 🚧 Coming Soon
756
+ **Phase 8: Provider Failover** ✅ Complete (v1.0.0)
757
+ - ✅ FailoverManager with automatic provider chain
758
+ - ✅ Configurable retries per provider (`maxRetriesPerProvider`)
759
+ - ✅ Retry and failover delays (`retryDelay`, `failoverDelay`)
760
+ - ✅ `onFailover` callback for monitoring/logging
761
+ - ✅ Per-mailer failover overrides
762
+ - ✅ MailFake `simulateFailures()` / `resetFailures()` for testing
763
+ - ✅ Response metadata: `provider`, `failoverUsed`, `failoverAttempts`
764
+ - ✅ 269 passing tests
765
+
766
+ **Phase 9+** 🚧 Coming Soon
636
767
  - 🔔 Notifications - Multi-channel notification system
637
768
  - 🌍 i18n Support - Multi-language emails
638
769
  - 🎨 Enhanced CLI - Command-line tools
@@ -699,7 +830,7 @@ Unlike other packages that bundle everything:
699
830
  - **Type-Safe**: Full TypeScript support with strict typing
700
831
  - **Developer-Friendly**: Clean, intuitive API
701
832
  - **Production-Ready**: Built with best practices
702
- - **Well-Tested**: 246 passing tests with 85%+ coverage
833
+ - **Well-Tested**: 269 passing tests with 85%+ coverage
703
834
 
704
835
  ## 📄 License
705
836
 
@@ -0,0 +1,7 @@
1
+ import type { MailOptions, MailProvider, MailResponse, FailoverConfig } from '../types';
2
+ export declare class FailoverManager {
3
+ sendWithFailover(options: MailOptions, primaryName: string, primaryProvider: MailProvider, failoverConfig: FailoverConfig, getProvider: (name: string) => MailProvider): Promise<MailResponse>;
4
+ private tryProvider;
5
+ private delay;
6
+ }
7
+ //# sourceMappingURL=FailoverManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailoverManager.d.ts","sourceRoot":"","sources":["../../src/core/FailoverManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EAEf,MAAM,UAAU,CAAC;AAElB,qBAAa,eAAe;IAKpB,gBAAgB,CACpB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,YAAY,EAC7B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,GAC1C,OAAO,CAAC,YAAY,CAAC;YA+FV,WAAW;IA8CzB,OAAO,CAAC,KAAK;CAGd"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FailoverManager = void 0;
4
+ class FailoverManager {
5
+ async sendWithFailover(options, primaryName, primaryProvider, failoverConfig, getProvider) {
6
+ const maxRetries = failoverConfig.maxRetriesPerProvider ?? 1;
7
+ const retryDelay = failoverConfig.retryDelay ?? 0;
8
+ const failoverDelay = failoverConfig.failoverDelay ?? 0;
9
+ const attempts = [];
10
+ const primaryResult = await this.tryProvider(primaryProvider, primaryName, options, maxRetries, retryDelay, attempts);
11
+ if (primaryResult.success) {
12
+ return {
13
+ ...primaryResult,
14
+ provider: primaryName,
15
+ failoverUsed: false,
16
+ failoverAttempts: attempts,
17
+ };
18
+ }
19
+ for (const chainName of failoverConfig.chain) {
20
+ if (chainName === primaryName) {
21
+ continue;
22
+ }
23
+ let chainProvider;
24
+ try {
25
+ chainProvider = getProvider(chainName);
26
+ }
27
+ catch {
28
+ continue;
29
+ }
30
+ const lastFailed = attempts[attempts.length - 1];
31
+ if (failoverConfig.onFailover && lastFailed) {
32
+ try {
33
+ failoverConfig.onFailover({
34
+ failedMailer: lastFailed.mailer,
35
+ error: lastFailed.error ?? 'Unknown error',
36
+ nextMailer: chainName,
37
+ attemptIndex: attempts.length,
38
+ timestamp: new Date().toISOString(),
39
+ });
40
+ }
41
+ catch {
42
+ }
43
+ }
44
+ if (failoverDelay > 0) {
45
+ await this.delay(failoverDelay);
46
+ }
47
+ const chainResult = await this.tryProvider(chainProvider, chainName, options, maxRetries, retryDelay, attempts);
48
+ if (chainResult.success) {
49
+ return {
50
+ ...chainResult,
51
+ provider: chainName,
52
+ failoverUsed: true,
53
+ failoverAttempts: attempts,
54
+ };
55
+ }
56
+ }
57
+ return {
58
+ success: false,
59
+ error: 'All providers failed',
60
+ provider: primaryName,
61
+ failoverUsed: true,
62
+ failoverAttempts: attempts,
63
+ };
64
+ }
65
+ async tryProvider(provider, name, options, maxRetries, retryDelay, attempts) {
66
+ let lastResponse = { success: false, error: 'No attempts made' };
67
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
68
+ if (attempt > 0 && retryDelay > 0) {
69
+ await this.delay(retryDelay);
70
+ }
71
+ const start = Date.now();
72
+ try {
73
+ lastResponse = await provider.send(options);
74
+ const durationMs = Date.now() - start;
75
+ const detail = { mailer: name, success: lastResponse.success, durationMs };
76
+ if (!lastResponse.success && lastResponse.error) {
77
+ detail.error = lastResponse.error;
78
+ }
79
+ attempts.push(detail);
80
+ if (lastResponse.success) {
81
+ return lastResponse;
82
+ }
83
+ }
84
+ catch (err) {
85
+ const durationMs = Date.now() - start;
86
+ const errorMessage = err instanceof Error ? err.message : String(err);
87
+ lastResponse = { success: false, error: errorMessage };
88
+ attempts.push({
89
+ mailer: name,
90
+ success: false,
91
+ error: errorMessage,
92
+ durationMs,
93
+ });
94
+ }
95
+ }
96
+ return lastResponse;
97
+ }
98
+ delay(ms) {
99
+ return new Promise((resolve) => setTimeout(resolve, ms));
100
+ }
101
+ }
102
+ exports.FailoverManager = FailoverManager;
103
+ //# sourceMappingURL=FailoverManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailoverManager.js","sourceRoot":"","sources":["../../src/core/FailoverManager.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class MailManager {
5
5
  private providers;
6
6
  private templateEngine?;
7
7
  private queueManager?;
8
+ private failoverManager;
8
9
  constructor(config: MailConfig);
9
10
  private initializeTemplateEngine;
10
11
  private initializeQueueManager;
@@ -1 +1 @@
1
- {"version":3,"file":"MailManager.d.ts","sourceRoot":"","sources":["../../src/core/MailManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,YAAY,EAEZ,UAAU,EACV,cAAc,EACf,MAAM,UAAU,CAAC;AAWlB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAe;gBAExB,MAAM,EAAE,UAAU;IAU9B,OAAO,CAAC,wBAAwB;IA0ChC,OAAO,CAAC,sBAAsB;IAU9B,eAAe,IAAI,YAAY,GAAG,SAAS;IAOrC,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAUpD,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU1E,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IAU7D,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,WAAW;IAyBnB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAO7B,MAAM,CAAC,IAAI,EAAE,MAAM;IAab,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAkFvD,gBAAgB,IAAI,MAAM;CAG3B;AAKD,qBAAa,cAAc;IAIvB,OAAO,CAAC,OAAO;IAHV,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAM;gBAGhC,OAAO,EAAE,WAAW,EAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKvB,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAK1B,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE;IAKrC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKvC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAKzB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAK5B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBrE,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAQxE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ9F,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvF,OAAO,CAAC,cAAc;CAgBvB"}
1
+ {"version":3,"file":"MailManager.d.ts","sourceRoot":"","sources":["../../src/core/MailManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,YAAY,EAEZ,UAAU,EACV,cAAc,EACf,MAAM,UAAU,CAAC;AAYlB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,eAAe,CAAyB;gBAEpC,MAAM,EAAE,UAAU;IAU9B,OAAO,CAAC,wBAAwB;IA0ChC,OAAO,CAAC,sBAAsB;IAU9B,eAAe,IAAI,YAAY,GAAG,SAAS;IAOrC,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IAUpD,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAU1E,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IAU7D,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,WAAW;IAyBnB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAO7B,MAAM,CAAC,IAAI,EAAE,MAAM;IAab,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAkGvD,gBAAgB,IAAI,MAAM;CAG3B;AAKD,qBAAa,cAAc;IAIvB,OAAO,CAAC,OAAO;IAHV,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAM;gBAGhC,OAAO,EAAE,WAAW,EAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKvB,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,IAAI,CAAC,IAAI,EAAE,MAAM;IAKjB,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE;IAKxB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAK1B,OAAO,CAAC,OAAO,EAAE,MAAM;IAKvB,WAAW,CAAC,WAAW,EAAE,UAAU,EAAE;IAKrC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAKvC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAKzB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAK5B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBrE,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAQxE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ9F,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,YAAY,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvF,OAAO,CAAC,cAAc;CAgBvB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MessageBuilder = exports.MailManager = void 0;
4
+ const FailoverManager_1 = require("./FailoverManager");
4
5
  const SmtpProvider_1 = require("../providers/SmtpProvider");
5
6
  const SendGridProvider_1 = require("../providers/SendGridProvider");
6
7
  const SesProvider_1 = require("../providers/SesProvider");
@@ -17,6 +18,7 @@ class MailManager {
17
18
  providers = new Map();
18
19
  templateEngine;
19
20
  queueManager;
21
+ failoverManager = new FailoverManager_1.FailoverManager();
20
22
  constructor(config) {
21
23
  this.config = config;
22
24
  this.initializeTemplateEngine();
@@ -185,8 +187,14 @@ class MailManager {
185
187
  const html = await this.templateEngine.renderFile(options.template, options.data);
186
188
  options = { ...options, html };
187
189
  }
188
- const provider = this.getProvider();
189
- return provider.send(options);
190
+ const mailerName = this.config.default;
191
+ const provider = this.getProvider(mailerName);
192
+ const mailerConfig = this.config.mailers[mailerName];
193
+ const failoverConfig = mailerConfig?.failover ?? this.config.failover;
194
+ if (!failoverConfig || failoverConfig.chain.length === 0) {
195
+ return provider.send(options);
196
+ }
197
+ return this.failoverManager.sendWithFailover(options, mailerName, provider, failoverConfig, (name) => this.getProvider(name));
190
198
  }
191
199
  getDefaultMailer() {
192
200
  return this.config.default;
@@ -1 +1 @@
1
- {"version":3,"file":"MailManager.js","sourceRoot":"","sources":["../../src/core/MailManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MailManager.js","sourceRoot":"","sources":["../../src/core/MailManager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { Mail } from './core/MailFacade';
2
2
  export { MailManager } from './core/MailManager';
3
3
  export { Mailable } from './core/Mailable';
4
4
  export { Message } from './core/Message';
5
+ export { FailoverManager } from './core/FailoverManager';
5
6
  export { SmtpProvider } from './providers/SmtpProvider';
6
7
  export { SendGridProvider } from './providers/SendGridProvider';
7
8
  export { SesProvider } from './providers/SesProvider';
@@ -16,5 +17,5 @@ export type { MarkdownRendererOptions, MarkdownTheme } from './markdown';
16
17
  export { MailFake, AssertableMessage } from './testing';
17
18
  export type { SentMessage } from './testing';
18
19
  export * from './types';
19
- export declare const VERSION = "0.7.0";
20
+ export declare const VERSION = "1.0.0";
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjF,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGzE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjF,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGzE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.VERSION = exports.AssertableMessage = exports.MailFake = exports.getDefaultTheme = exports.MarkdownMailable = exports.MarkdownRenderer = exports.BullDriver = exports.BullMQDriver = exports.QueueManager = exports.PugEngine = exports.EjsEngine = exports.HandlebarsEngine = exports.PostmarkProvider = exports.ResendProvider = exports.MailgunProvider = exports.SesProvider = exports.SendGridProvider = exports.SmtpProvider = exports.Message = exports.Mailable = exports.MailManager = exports.Mail = void 0;
17
+ exports.VERSION = exports.AssertableMessage = exports.MailFake = exports.getDefaultTheme = exports.MarkdownMailable = exports.MarkdownRenderer = exports.BullDriver = exports.BullMQDriver = exports.QueueManager = exports.PugEngine = exports.EjsEngine = exports.HandlebarsEngine = exports.PostmarkProvider = exports.ResendProvider = exports.MailgunProvider = exports.SesProvider = exports.SendGridProvider = exports.SmtpProvider = exports.FailoverManager = exports.Message = exports.Mailable = exports.MailManager = exports.Mail = void 0;
18
18
  var MailFacade_1 = require("./core/MailFacade");
19
19
  Object.defineProperty(exports, "Mail", { enumerable: true, get: function () { return MailFacade_1.Mail; } });
20
20
  var MailManager_1 = require("./core/MailManager");
@@ -23,6 +23,8 @@ var Mailable_1 = require("./core/Mailable");
23
23
  Object.defineProperty(exports, "Mailable", { enumerable: true, get: function () { return Mailable_1.Mailable; } });
24
24
  var Message_1 = require("./core/Message");
25
25
  Object.defineProperty(exports, "Message", { enumerable: true, get: function () { return Message_1.Message; } });
26
+ var FailoverManager_1 = require("./core/FailoverManager");
27
+ Object.defineProperty(exports, "FailoverManager", { enumerable: true, get: function () { return FailoverManager_1.FailoverManager; } });
26
28
  var SmtpProvider_1 = require("./providers/SmtpProvider");
27
29
  Object.defineProperty(exports, "SmtpProvider", { enumerable: true, get: function () { return SmtpProvider_1.SmtpProvider; } });
28
30
  var SendGridProvider_1 = require("./providers/SendGridProvider");
@@ -51,5 +53,5 @@ var testing_1 = require("./testing");
51
53
  Object.defineProperty(exports, "MailFake", { enumerable: true, get: function () { return testing_1.MailFake; } });
52
54
  Object.defineProperty(exports, "AssertableMessage", { enumerable: true, get: function () { return testing_1.AssertableMessage; } });
53
55
  __exportStar(require("./types"), exports);
54
- exports.VERSION = '0.7.0';
56
+ exports.VERSION = '1.0.0';
55
57
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,gDAAyC;AAAhC,kGAAA,IAAI,OAAA;AACb,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,4CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AACjB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAGhB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,0GAAA,WAAW,OAAA;AACpB,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AACxB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AAIzB,yCAAqE;AAA5D,6GAAA,gBAAgB,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,sGAAA,SAAS,OAAA;AAG/C,iCAAiE;AAAxD,qGAAA,YAAY,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,mGAAA,UAAU,OAAA;AAG/C,uCAAiF;AAAxE,4GAAA,gBAAgB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA;AAI5D,qCAAwD;AAA/C,mGAAA,QAAQ,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAIpC,0CAAwB;AAGX,QAAA,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKA,gDAAyC;AAAhC,kGAAA,IAAI,OAAA;AACb,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,4CAA2C;AAAlC,oGAAA,QAAQ,OAAA;AACjB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,0DAAyD;AAAhD,kHAAA,eAAe,OAAA;AAGxB,yDAAwD;AAA/C,4GAAA,YAAY,OAAA;AACrB,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AACzB,uDAAsD;AAA7C,0GAAA,WAAW,OAAA;AACpB,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AACxB,6DAA4D;AAAnD,gHAAA,cAAc,OAAA;AACvB,iEAAgE;AAAvD,oHAAA,gBAAgB,OAAA;AAIzB,yCAAqE;AAA5D,6GAAA,gBAAgB,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,sGAAA,SAAS,OAAA;AAG/C,iCAAiE;AAAxD,qGAAA,YAAY,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,mGAAA,UAAU,OAAA;AAG/C,uCAAiF;AAAxE,4GAAA,gBAAgB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA;AAI5D,qCAAwD;AAA/C,mGAAA,QAAQ,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAIpC,0CAAwB;AAGX,QAAA,OAAO,GAAG,OAAO,CAAC"}
@@ -1,9 +1,10 @@
1
- import type { MailOptions, Attachment } from '../types';
1
+ import type { MailOptions, Attachment, MailResponse, FailoverDetail } from '../types';
2
2
  import type { Mailable } from '../core/Mailable';
3
3
  export declare class AssertableMessage {
4
4
  private readonly options;
5
5
  private readonly mailable?;
6
- constructor(options: MailOptions, mailable?: Mailable | undefined);
6
+ private readonly response?;
7
+ constructor(options: MailOptions, mailable?: Mailable | undefined, response?: MailResponse | undefined);
7
8
  getOptions(): MailOptions;
8
9
  getMailable(): Mailable | undefined;
9
10
  hasTo(email: string): boolean;
@@ -34,6 +35,10 @@ export declare class AssertableMessage {
34
35
  getHtml(): string | undefined;
35
36
  getText(): string | undefined;
36
37
  getTemplate(): string | undefined;
38
+ wasFailoverUsed(): boolean;
39
+ getProvider(): string | undefined;
40
+ getFailoverAttempts(): FailoverDetail[];
41
+ getResponse(): MailResponse | undefined;
37
42
  isMarkdown(): boolean;
38
43
  getMarkdown(): string | undefined;
39
44
  markdownContains(text: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AssertableMessage.d.ts","sourceRoot":"","sources":["../../src/testing/AssertableMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAe,UAAU,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBADT,OAAO,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAMtC,UAAU,IAAI,WAAW;IAOzB,WAAW,IAAI,QAAQ,GAAG,SAAS;IAOnC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAO7B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ9B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAW/B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOpC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOtC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWlC,OAAO,IAAI,OAAO;IAOlB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQnC,OAAO,IAAI,OAAO;IAOlB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQnC,cAAc,IAAI,OAAO;IAOzB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAUxC,cAAc,IAAI,UAAU,EAAE;IAO9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBhD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAO3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOtC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAa9C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAO7B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAOjD,KAAK,IAAI,MAAM,EAAE;IAOjB,KAAK,IAAI,MAAM,EAAE;IAQjB,MAAM,IAAI,MAAM,EAAE;IAQlB,UAAU,IAAI,MAAM;IAOpB,OAAO,IAAI,MAAM,GAAG,SAAS;IAS7B,OAAO,IAAI,MAAM,GAAG,SAAS;IAO7B,OAAO,IAAI,MAAM,GAAG,SAAS;IAO7B,WAAW,IAAI,MAAM,GAAG,SAAS;IASjC,UAAU,IAAI,OAAO;IAOrB,WAAW,IAAI,MAAM,GAAG,SAAS;IAOjC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASvC,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,mBAAmB;CAW5B"}
1
+ {"version":3,"file":"AssertableMessage.d.ts","sourceRoot":"","sources":["../../src/testing/AssertableMessage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAe,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAFT,OAAO,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,QAAQ,CAAC,EAAE,YAAY,YAAA;IAM1C,UAAU,IAAI,WAAW;IAOzB,WAAW,IAAI,QAAQ,GAAG,SAAS;IAOnC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAO7B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ7B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ9B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAW/B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOpC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAOtC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWlC,OAAO,IAAI,OAAO;IAOlB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQnC,OAAO,IAAI,OAAO;IAOlB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQnC,cAAc,IAAI,OAAO;IAOzB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAUxC,cAAc,IAAI,UAAU,EAAE;IAO9B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAgBhD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAO3C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOtC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAa9C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAO7B,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAOjD,KAAK,IAAI,MAAM,EAAE;IAOjB,KAAK,IAAI,MAAM,EAAE;IAQjB,MAAM,IAAI,MAAM,EAAE;IAQlB,UAAU,IAAI,MAAM;IAOpB,OAAO,IAAI,MAAM,GAAG,SAAS;IAS7B,OAAO,IAAI,MAAM,GAAG,SAAS;IAO7B,OAAO,IAAI,MAAM,GAAG,SAAS;IAO7B,WAAW,IAAI,MAAM,GAAG,SAAS;IASjC,eAAe,IAAI,OAAO;IAO1B,WAAW,IAAI,MAAM,GAAG,SAAS;IAOjC,mBAAmB,IAAI,cAAc,EAAE;IAOvC,WAAW,IAAI,YAAY,GAAG,SAAS;IASvC,UAAU,IAAI,OAAO;IAOrB,WAAW,IAAI,MAAM,GAAG,SAAS;IAOjC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASvC,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,mBAAmB;CAW5B"}
@@ -4,9 +4,11 @@ exports.AssertableMessage = void 0;
4
4
  class AssertableMessage {
5
5
  options;
6
6
  mailable;
7
- constructor(options, mailable) {
7
+ response;
8
+ constructor(options, mailable, response) {
8
9
  this.options = options;
9
10
  this.mailable = mailable;
11
+ this.response = response;
10
12
  }
11
13
  getOptions() {
12
14
  return this.options;
@@ -139,6 +141,18 @@ class AssertableMessage {
139
141
  getTemplate() {
140
142
  return this.options.template;
141
143
  }
144
+ wasFailoverUsed() {
145
+ return this.response?.failoverUsed ?? false;
146
+ }
147
+ getProvider() {
148
+ return this.response?.provider;
149
+ }
150
+ getFailoverAttempts() {
151
+ return this.response?.failoverAttempts ?? [];
152
+ }
153
+ getResponse() {
154
+ return this.response;
155
+ }
142
156
  isMarkdown() {
143
157
  return !!this.options.data?.['__markdown'];
144
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AssertableMessage.js","sourceRoot":"","sources":["../../src/testing/AssertableMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssertableMessage.js","sourceRoot":"","sources":["../../src/testing/AssertableMessage.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,11 @@ export interface SentMessage {
9
9
  export declare class MailFake implements MailProvider {
10
10
  private sentMessages;
11
11
  private queuedMessages;
12
+ private failureCount;
13
+ private failuresSent;
12
14
  constructor(_config?: MailConfig);
15
+ simulateFailures(count: number): void;
16
+ resetFailures(): void;
13
17
  send(options: MailOptions, mailable?: Mailable): Promise<MailResponse>;
14
18
  queue(options: MailOptions, mailable?: Mailable): Promise<MailResponse>;
15
19
  later(options: MailOptions, _delaySeconds: number, mailable?: Mailable): Promise<MailResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"MailFake.d.ts","sourceRoot":"","sources":["../../src/testing/MailFake.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,qBAAa,QAAS,YAAW,YAAY;IAC3C,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqB;gBAE/B,OAAO,CAAC,EAAE,UAAU;IAOhC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAqBtE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBvE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAO9F,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IAQjF,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,iBAAiB,EAAE;IAaxF,MAAM,CAAC,CAAC,SAAS,QAAQ,EAAE,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,iBAAiB,EAAE;IAa1F,UAAU,CAAC,CAAC,SAAS,QAAQ,EAC3B,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACxC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,GACjD,IAAI;IAsBP,eAAe,CAAC,CAAC,SAAS,QAAQ,EAChC,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACxC,KAAK,EAAE,MAAM,GACZ,IAAI;IAaP,aAAa,CAAC,CAAC,SAAS,QAAQ,EAC9B,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACxC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,GACjD,IAAI;IAoBP,iBAAiB,IAAI,IAAI;IAczB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAC7B,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACxC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,GACjD,IAAI;IAsBP,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAClC,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACxC,KAAK,EAAE,MAAM,GACZ,IAAI;IAaP,eAAe,CAAC,CAAC,SAAS,QAAQ,EAChC,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACxC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,GACjD,IAAI;IAoBP,mBAAmB,IAAI,IAAI;IAc3B,OAAO,IAAI,OAAO;IAOlB,SAAS,IAAI,OAAO;IAOpB,SAAS,IAAI,MAAM;IAOnB,WAAW,IAAI,MAAM;IAOrB,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,mBAAmB;CAa5B"}
1
+ {"version":3,"file":"MailFake.d.ts","sourceRoot":"","sources":["../../src/testing/MailFake.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,26 @@ const AssertableMessage_1 = require("./AssertableMessage");
5
5
  class MailFake {
6
6
  sentMessages = [];
7
7
  queuedMessages = [];
8
+ failureCount = 0;
9
+ failuresSent = 0;
8
10
  constructor(_config) {
9
11
  }
12
+ simulateFailures(count) {
13
+ this.failureCount = count;
14
+ this.failuresSent = 0;
15
+ }
16
+ resetFailures() {
17
+ this.failureCount = 0;
18
+ this.failuresSent = 0;
19
+ }
10
20
  send(options, mailable) {
21
+ if (this.failureCount > 0 && this.failuresSent < this.failureCount) {
22
+ this.failuresSent++;
23
+ return Promise.resolve({
24
+ success: false,
25
+ error: `Simulated failure (${this.failuresSent}/${this.failureCount})`,
26
+ });
27
+ }
11
28
  const message = {
12
29
  options,
13
30
  mailable,
@@ -146,6 +163,8 @@ class MailFake {
146
163
  clear() {
147
164
  this.sentMessages = [];
148
165
  this.queuedMessages = [];
166
+ this.failureCount = 0;
167
+ this.failuresSent = 0;
149
168
  }
150
169
  normalizeRecipients(to) {
151
170
  if (typeof to === 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"MailFake.js","sourceRoot":"","sources":["../../src/testing/MailFake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MailFake.js","sourceRoot":"","sources":["../../src/testing/MailFake.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface MailConfig {
17
17
  templates?: TemplateConfig;
18
18
  queue?: QueueConfig;
19
19
  markdown?: MarkdownConfig;
20
+ failover?: FailoverConfig;
20
21
  }
21
22
  export interface TemplateConfig {
22
23
  engine?: 'handlebars' | 'ejs' | 'pug' | TemplateEngine;
@@ -27,6 +28,7 @@ export interface TemplateConfig {
27
28
  }
28
29
  export interface MailerConfig {
29
30
  driver: 'smtp' | 'sendgrid' | 'ses' | 'mailgun' | 'resend' | 'postmark' | 'mailtrap';
31
+ failover?: FailoverConfig;
30
32
  [key: string]: unknown;
31
33
  }
32
34
  export interface SmtpConfig extends MailerConfig {
@@ -107,6 +109,29 @@ export interface MailResponse {
107
109
  rejected?: string[];
108
110
  response?: string;
109
111
  error?: string;
112
+ provider?: string;
113
+ failoverUsed?: boolean;
114
+ failoverAttempts?: FailoverDetail[];
115
+ }
116
+ export interface FailoverConfig {
117
+ chain: string[];
118
+ maxRetriesPerProvider?: number;
119
+ retryDelay?: number;
120
+ failoverDelay?: number;
121
+ onFailover?: (event: FailoverEvent) => void;
122
+ }
123
+ export interface FailoverEvent {
124
+ failedMailer: string;
125
+ error: string;
126
+ nextMailer: string;
127
+ attemptIndex: number;
128
+ timestamp: string;
129
+ }
130
+ export interface FailoverDetail {
131
+ mailer: string;
132
+ success: boolean;
133
+ error?: string;
134
+ durationMs: number;
110
135
  }
111
136
  export interface QueueConfig {
112
137
  driver: 'bull' | 'bullmq' | 'sync';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@impruthvi/nodemail",
3
- "version": "0.7.0",
3
+ "version": "1.0.0",
4
4
  "description": "A unified mail service for Node.js/TypeScript with Laravel-like simplicity. Support for multiple providers (SMTP, SendGrid, AWS SES, Mailgun, Resend, Postmark) and template engines (Handlebars, EJS, Pug) - just change environment variables, no code changes needed.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",