@studiosonrai/nestjs-email 1.1.0 → 1.2.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 +2 -26
- package/dist/src/email.module.js +0 -7
- package/dist/src/email.module.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces/email.interfaces.d.ts +1 -5
- package/dist/src/providers/index.d.ts +0 -1
- package/dist/src/providers/index.js +0 -1
- package/dist/src/providers/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -7
- package/dist/src/providers/resend.provider.d.ts +0 -17
- package/dist/src/providers/resend.provider.js +0 -178
- package/dist/src/providers/resend.provider.js.map +0 -1
- package/dist/src/providers/resend.provider.spec.d.ts +0 -1
- package/dist/src/providers/resend.provider.spec.js +0 -108
- package/dist/src/providers/resend.provider.spec.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @studiosonrai/nestjs-email
|
|
2
2
|
|
|
3
|
-
Email module for NestJS with SMTP
|
|
3
|
+
Email module for NestJS with SMTP and Azure Communication Service support.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -12,9 +12,6 @@ npm install nodemailer
|
|
|
12
12
|
|
|
13
13
|
# For Azure:
|
|
14
14
|
npm install @azure/communication-email
|
|
15
|
-
|
|
16
|
-
# For Resend:
|
|
17
|
-
npm install resend
|
|
18
15
|
```
|
|
19
16
|
|
|
20
17
|
## Usage
|
|
@@ -43,26 +40,6 @@ import { EmailModule, EmailService } from '@studiosonrai/nestjs-email';
|
|
|
43
40
|
export class AppModule {}
|
|
44
41
|
```
|
|
45
42
|
|
|
46
|
-
### Resend
|
|
47
|
-
|
|
48
|
-
```typescript
|
|
49
|
-
@Module({
|
|
50
|
-
imports: [
|
|
51
|
-
EmailModule.forRootAsync({
|
|
52
|
-
inject: [ConfigService],
|
|
53
|
-
useFactory: (config: ConfigService) => ({
|
|
54
|
-
provider: 'resend',
|
|
55
|
-
resend: {
|
|
56
|
-
apiKey: config.get('RESEND_API_KEY'),
|
|
57
|
-
},
|
|
58
|
-
defaultFrom: config.get('MAIL_FROM'),
|
|
59
|
-
}),
|
|
60
|
-
}),
|
|
61
|
-
],
|
|
62
|
-
})
|
|
63
|
-
export class AppModule {}
|
|
64
|
-
```
|
|
65
|
-
|
|
66
43
|
### Sending Emails
|
|
67
44
|
|
|
68
45
|
```typescript
|
|
@@ -81,10 +58,9 @@ export class MyService {
|
|
|
81
58
|
|
|
82
59
|
| Option | Type | Description |
|
|
83
60
|
|--------|------|-------------|
|
|
84
|
-
| `provider` | `'smtp' \| 'azure'
|
|
61
|
+
| `provider` | `'smtp' \| 'azure'` | Email provider |
|
|
85
62
|
| `smtp` | `{ host, port, secure?, auth? }` | SMTP config |
|
|
86
63
|
| `azure` | `{ connectionString, senderAddress }` | Azure config |
|
|
87
|
-
| `resend` | `{ apiKey }` | Resend config |
|
|
88
64
|
| `defaultFrom` | `string` | Default sender address |
|
|
89
65
|
| `imageCompression` | `{ enabled, maxWidth?, quality? }` | Compress inline images |
|
|
90
66
|
| `verbose` | `boolean` | Enable logging |
|
package/dist/src/email.module.js
CHANGED
|
@@ -13,7 +13,6 @@ const email_service_1 = require("./email.service");
|
|
|
13
13
|
const email_constants_1 = require("./email.constants");
|
|
14
14
|
const smtp_provider_1 = require("./providers/smtp.provider");
|
|
15
15
|
const azure_provider_1 = require("./providers/azure.provider");
|
|
16
|
-
const resend_provider_1 = require("./providers/resend.provider");
|
|
17
16
|
function createEmailProvider(options) {
|
|
18
17
|
const providerOptions = {
|
|
19
18
|
defaultFrom: options.defaultFrom,
|
|
@@ -32,12 +31,6 @@ function createEmailProvider(options) {
|
|
|
32
31
|
}
|
|
33
32
|
return new azure_provider_1.AzureEmailProvider(options.azure, providerOptions);
|
|
34
33
|
}
|
|
35
|
-
if (options.provider === 'resend') {
|
|
36
|
-
if (!options.resend) {
|
|
37
|
-
throw new Error('Resend configuration is required when provider is "resend"');
|
|
38
|
-
}
|
|
39
|
-
return new resend_provider_1.ResendEmailProvider(options.resend, providerOptions);
|
|
40
|
-
}
|
|
41
34
|
throw new Error(`Unknown email provider: ${options.provider}`);
|
|
42
35
|
}
|
|
43
36
|
let EmailModule = EmailModule_1 = class EmailModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.module.js","sourceRoot":"","sources":["../../src/email.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AAOzE,mDAA+C;AAC/C,uDAAyE;AACzE,6DAA8D;AAC9D,+DAAgE;
|
|
1
|
+
{"version":3,"file":"email.module.js","sourceRoot":"","sources":["../../src/email.module.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -21,5 +21,4 @@ __exportStar(require("./template.service"), exports);
|
|
|
21
21
|
__exportStar(require("./interfaces/email.interfaces"), exports);
|
|
22
22
|
__exportStar(require("./providers/smtp.provider"), exports);
|
|
23
23
|
__exportStar(require("./providers/azure.provider"), exports);
|
|
24
|
-
__exportStar(require("./providers/resend.provider"), exports);
|
|
25
24
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AAGnC,gEAA8C;AAG9C,4DAA0C;AAC1C,6DAA2C
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,iDAA+B;AAC/B,kDAAgC;AAChC,oDAAkC;AAClC,qDAAmC;AAGnC,gEAA8C;AAG9C,4DAA0C;AAC1C,6DAA2C"}
|
|
@@ -40,20 +40,16 @@ export interface AzureEmailConfig {
|
|
|
40
40
|
connectionString: string;
|
|
41
41
|
senderAddress: string;
|
|
42
42
|
}
|
|
43
|
-
export interface ResendEmailConfig {
|
|
44
|
-
apiKey: string;
|
|
45
|
-
}
|
|
46
43
|
export interface ImageCompressionOptions {
|
|
47
44
|
enabled: boolean;
|
|
48
45
|
maxWidth?: number;
|
|
49
46
|
quality?: number;
|
|
50
47
|
}
|
|
51
|
-
export type EmailProviderType = 'smtp' | 'azure'
|
|
48
|
+
export type EmailProviderType = 'smtp' | 'azure';
|
|
52
49
|
export interface EmailModuleOptions {
|
|
53
50
|
provider: EmailProviderType;
|
|
54
51
|
smtp?: SmtpTransportConfig;
|
|
55
52
|
azure?: AzureEmailConfig;
|
|
56
|
-
resend?: ResendEmailConfig;
|
|
57
53
|
defaultFrom?: string;
|
|
58
54
|
imageCompression?: ImageCompressionOptions;
|
|
59
55
|
verbose?: boolean;
|
|
@@ -16,5 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./smtp.provider"), exports);
|
|
18
18
|
__exportStar(require("./azure.provider"), exports);
|
|
19
|
-
__exportStar(require("./resend.provider"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,mDAAiC"}
|