@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 +137 -6
- package/dist/core/FailoverManager.d.ts +7 -0
- package/dist/core/FailoverManager.d.ts.map +1 -0
- package/dist/core/FailoverManager.js +103 -0
- package/dist/core/FailoverManager.js.map +1 -0
- package/dist/core/MailManager.d.ts +1 -0
- package/dist/core/MailManager.d.ts.map +1 -1
- package/dist/core/MailManager.js +10 -2
- package/dist/core/MailManager.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/testing/AssertableMessage.d.ts +7 -2
- package/dist/testing/AssertableMessage.d.ts.map +1 -1
- package/dist/testing/AssertableMessage.js +15 -1
- package/dist/testing/AssertableMessage.js.map +1 -1
- package/dist/testing/MailFake.d.ts +4 -0
- package/dist/testing/MailFake.d.ts.map +1 -1
- package/dist/testing/MailFake.js +19 -0
- package/dist/testing/MailFake.js.map +1 -1
- package/dist/types/index.d.ts +25 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@impruthvi/nodemail)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
[](https://www.typescriptlang.org/)
|
|
6
|
-
[](https://github.com/impruthvi/nodemail)
|
|
7
7
|
[](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 (
|
|
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.
|
|
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
|
|
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**:
|
|
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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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/core/MailManager.js
CHANGED
|
@@ -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
|
|
189
|
-
|
|
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":";;;AAcA,4DAAyD;AACzD,oEAAiE;AACjE,0DAAuD;AACvD,kEAA+D;AAC/D,gEAA6D;AAC7D,oEAAiE;AAEjE,oEAAiE;AACjE,sDAAmD;AACnD,sDAAmD;AACnD,wDAAqD;AACrD,mEAAgE;AAGhE,MAAa,WAAW;IACd,MAAM,CAAa;IACnB,SAAS,GAA8B,IAAI,GAAG,EAAE,CAAC;IACjD,cAAc,CAAkB;IAChC,YAAY,CAAgB;
|
|
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.
|
|
20
|
+
export declare const VERSION = "1.0.0";
|
|
20
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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;
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
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":";;;AAQA,MAAa,iBAAiB;IAET;IACA;
|
|
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;
|
|
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;IAC3C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;gBAEb,OAAO,CAAC,EAAE,UAAU;IAOhC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQrC,aAAa,IAAI,IAAI;IASrB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;IA8BtE,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;IAUb,OAAO,CAAC,mBAAmB;CAa5B"}
|
package/dist/testing/MailFake.js
CHANGED
|
@@ -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":";;;AAQA,2DAAwD;AAQxD,MAAa,QAAQ;IACX,YAAY,GAAkB,EAAE,CAAC;IACjC,cAAc,GAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MailFake.js","sourceRoot":"","sources":["../../src/testing/MailFake.ts"],"names":[],"mappings":";;;AAQA,2DAAwD;AAQxD,MAAa,QAAQ;IACX,YAAY,GAAkB,EAAE,CAAC;IACjC,cAAc,GAAkB,EAAE,CAAC;IACnC,YAAY,GAAG,CAAC,CAAC;IACjB,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAY,OAAoB;IAEhC,CAAC;IAKD,gBAAgB,CAAC,KAAa;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAKD,aAAa;QACX,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAMD,IAAI,CAAC,OAAoB,EAAE,QAAmB;QAE5C,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sBAAsB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,GAAG;aACvE,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAgB;YAC3B,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,+BAA+B;SAC1C,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,OAAoB,EAAE,QAAmB;QAC7C,MAAM,OAAO,GAAgB;YAC3B,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAElC,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YACpE,QAAQ,EAAE,+BAA+B;SAC1C,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,OAAoB,EAAE,aAAqB,EAAE,QAAmB;QACpE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAKD,EAAE,CAAC,OAAoB,EAAE,KAAW,EAAE,QAAmB;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAMD,IAAI,CAAqB,aAAyC;QAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAEjC,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,qCAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;IAKD,MAAM,CAAqB,aAAyC;QAClE,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;QAEnC,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,YAAY,aAAa,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,qCAAiB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,CAAC;IAKD,UAAU,CACR,aAAwC,EACxC,QAAkD;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,iBAAiB,aAAa,CAAC,IAAI,0BAA0B,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,iBAAiB,aAAa,CAAC,IAAI,6EAA6E,CACjH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAKD,eAAe,CACb,aAAwC,EACxC,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1C,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,aAAa,aAAa,CAAC,IAAI,gBAAgB,KAAK,6BAA6B,QAAQ,CAAC,MAAM,WAAW,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,aAAa,CACX,aAAwC,EACxC,QAAkD;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,mBAAmB,aAAa,CAAC,IAAI,sBAAsB,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,mBAAmB,aAAa,CAAC,IAAI,sBAAsB,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,iBAAiB;QACf,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY;iBACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC;iBACrD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,YAAY,CAAC,MAAM,gBAAgB,aAAa,GAAG,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,YAAY,CACV,aAAwC,EACxC,QAAkD;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,iBAAiB,aAAa,CAAC,IAAI,4BAA4B,CAChE,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,iBAAiB,aAAa,CAAC,IAAI,iFAAiF,CACrH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAKD,iBAAiB,CACf,aAAwC,EACxC,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE5C,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,aAAa,aAAa,CAAC,IAAI,kBAAkB,KAAK,+BAA+B,QAAQ,CAAC,MAAM,WAAW,CAChH,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,eAAe,CACb,aAAwC,EACxC,QAAkD;QAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE5C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,mBAAmB,aAAa,CAAC,IAAI,wBAAwB,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,mBAAmB,aAAa,CAAC,IAAI,wBAAwB,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,mBAAmB;QACjB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc;iBACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC;iBACrD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,cAAc,CAAC,MAAM,kBAAkB,aAAa,GAAG,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACxC,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAKD,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAKO,mBAAmB,CACzB,EAAqB;QAErB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC1B,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;CACF;AAvUD,4BAuUC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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.
|
|
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",
|