@hedhog/mail 0.46.1 → 0.46.3

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.
@@ -1,6 +1,7 @@
1
1
  import { ModuleMetadata } from '@nestjs/common';
2
2
  export type MailModuleOptions = {
3
3
  global?: boolean;
4
+ debug?: boolean;
4
5
  type: 'AWS';
5
6
  region: string;
6
7
  accessKeyId: string;
@@ -8,14 +9,17 @@ export type MailModuleOptions = {
8
9
  from: string;
9
10
  } | {
10
11
  global?: boolean;
12
+ debug?: boolean;
11
13
  type: 'SMTP';
12
14
  host: string;
13
15
  port: number;
14
16
  secure?: boolean;
15
17
  username: string;
16
18
  password: string;
19
+ rejectUnauthorized?: boolean;
17
20
  } | {
18
21
  global?: boolean;
22
+ debug?: boolean;
19
23
  type: 'GMAIL';
20
24
  clientId: string;
21
25
  clientSecret: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mail-module-options.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/mail-module-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GACzB;IACE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;CACrE;AAED,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IACvC,UAAU,EAAE,CACV,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IACpD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB"}
1
+ {"version":3,"file":"mail-module-options.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/mail-module-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GACzB;IACE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACD;IACE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;CACrE;AAED,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IACvC,UAAU,EAAE,CACV,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IACpD,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB"}
@@ -1,10 +1,14 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
+ import { OnModuleInit } from '@nestjs/common';
2
3
  import { MailModuleOptions } from './interfaces/mail-module-options.interface';
3
4
  import { Mail } from './mail.consts';
4
- export declare class MailService {
5
+ export declare class MailService implements OnModuleInit {
5
6
  private readonly mailConfig;
6
7
  private readonly httpService;
8
+ private debug;
7
9
  constructor(mailConfig: MailModuleOptions, httpService: HttpService);
10
+ onModuleInit(): Promise<void>;
11
+ private log;
8
12
  send(mail: Mail): Promise<any>;
9
13
  createRawEmail(mail: Mail): Promise<string>;
10
14
  sendWithSMTP(mail: Mail): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"mail.service.d.ts","sourceRoot":"","sources":["../src/mail.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAuB,MAAM,eAAe,CAAC;AAE1D,qBACa,WAAW;IAGpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAFX,UAAU,EAAE,iBAAiB,EAE7B,WAAW,EAAE,WAAW;IAGrC,IAAI,CAAC,IAAI,EAAE,IAAI;IAaf,cAAc,CAAC,IAAI,EAAE,IAAI;IA4EzB,YAAY,CAAC,IAAI,EAAE,IAAI;IAqCvB,aAAa,CAAC,IAAI,EAAE,IAAI;;;IAsCxB,WAAW,CAAC,IAAI,EAAE,IAAI;CAyH7B"}
1
+ {"version":3,"file":"mail.service.d.ts","sourceRoot":"","sources":["../src/mail.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAkC,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAI9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAuB,MAAM,eAAe,CAAC;AAE1D,qBACa,WAAY,YAAW,YAAY;IAK5C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAN9B,OAAO,CAAC,KAAK,CAAS;gBAIH,UAAU,EAAE,iBAAiB,EAE7B,WAAW,EAAE,WAAW;IAGrC,YAAY;IAMlB,OAAO,CAAC,GAAG;IAML,IAAI,CAAC,IAAI,EAAE,IAAI;IAcf,cAAc,CAAC,IAAI,EAAE,IAAI;IA2EzB,YAAY,CAAC,IAAI,EAAE,IAAI;IAsDvB,aAAa,CAAC,IAAI,EAAE,IAAI;;;IAiDxB,WAAW,CAAC,IAAI,EAAE,IAAI;CAoI7B"}
@@ -56,8 +56,20 @@ let MailService = class MailService {
56
56
  constructor(mailConfig, httpService) {
57
57
  this.mailConfig = mailConfig;
58
58
  this.httpService = httpService;
59
+ this.debug = false;
60
+ }
61
+ async onModuleInit() {
62
+ if (this.mailConfig.debug) {
63
+ this.debug = true;
64
+ }
65
+ }
66
+ log(...args) {
67
+ if (this.debug) {
68
+ console.log(...args);
69
+ }
59
70
  }
60
71
  async send(mail) {
72
+ this.log('Sending mail:', mail);
61
73
  switch (this.mailConfig.type) {
62
74
  case mail_configuration_type_enum_1.MailConfigurationTypeEnum.AWS:
63
75
  return this.sendWithSES(mail);
@@ -129,8 +141,16 @@ let MailService = class MailService {
129
141
  if (this.mailConfig.type !== 'SMTP') {
130
142
  throw new Error('Invalid mail configuration type');
131
143
  }
132
- const { password: pass, username: user, host, port, secure = false, } = this.mailConfig;
144
+ const { password: pass, username: user, host, port, secure = false, rejectUnauthorized = true, } = this.mailConfig;
133
145
  const nodemailer = await Promise.resolve().then(() => __importStar(require('nodemailer')));
146
+ this.log(`Sending mail with SMTP`, {
147
+ host,
148
+ port,
149
+ secure,
150
+ user,
151
+ pass,
152
+ rejectUnauthorized,
153
+ });
134
154
  const transporter = nodemailer.createTransport({
135
155
  host,
136
156
  port,
@@ -139,8 +159,11 @@ let MailService = class MailService {
139
159
  user,
140
160
  pass,
141
161
  },
162
+ tls: {
163
+ rejectUnauthorized,
164
+ },
142
165
  });
143
- return transporter.sendMail({
166
+ const result = await transporter.sendMail({
144
167
  from: mail.from || process.env.SMTP_FROM || process.env.SMTP_USER,
145
168
  to: mail.to,
146
169
  subject: mail.subject,
@@ -150,6 +173,8 @@ let MailService = class MailService {
150
173
  replyTo: mail.replyTo,
151
174
  priority: mail.priority,
152
175
  });
176
+ this.log('Email sent:', result);
177
+ return result;
153
178
  }
154
179
  async sendWithGmail(mail) {
155
180
  if (this.mailConfig.type !== 'GMAIL') {
@@ -157,6 +182,12 @@ let MailService = class MailService {
157
182
  }
158
183
  const { clientId, clientSecret, from, refreshToken } = this.mailConfig;
159
184
  const redirectURI = 'https://developers.google.com/oauthplayground';
185
+ this.log(`Sending mail with Gmail`, {
186
+ clientId,
187
+ clientSecret,
188
+ from,
189
+ refreshToken,
190
+ });
160
191
  const { auth } = await Promise.resolve().then(() => __importStar(require('googleapis/build/src/apis/oauth2')));
161
192
  const oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectURI);
162
193
  oauth2Client.setCredentials({
@@ -173,7 +204,9 @@ let MailService = class MailService {
173
204
  'Content-Type': 'application/json',
174
205
  };
175
206
  const response = this.httpService.post(url, requestBody, { headers });
176
- return (0, rxjs_1.firstValueFrom)(response);
207
+ const result = await (0, rxjs_1.firstValueFrom)(response);
208
+ this.log('Email sent:', result);
209
+ return result;
177
210
  }
178
211
  async sendWithSES(mail) {
179
212
  var _a;
@@ -181,6 +214,12 @@ let MailService = class MailService {
181
214
  throw new Error('Invalid mail configuration type');
182
215
  }
183
216
  const { region, from, accessKeyId, secretAccessKey } = this.mailConfig;
217
+ this.log(`Sending mail with AWS SES`, {
218
+ region,
219
+ from,
220
+ accessKeyId,
221
+ secretAccessKey,
222
+ });
184
223
  const { SES } = await Promise.resolve().then(() => __importStar(require('aws-sdk')));
185
224
  const ses = new SES({
186
225
  apiVersion: '2010-12-01',
@@ -278,7 +317,9 @@ let MailService = class MailService {
278
317
  ReplyToAddresses: mail.replyTo,
279
318
  Source: from,
280
319
  };
281
- return ses.sendEmail(params).promise();
320
+ const result = await ses.sendEmail(params).promise();
321
+ this.log('Email sent:', result);
322
+ return result;
282
323
  }
283
324
  }
284
325
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../src/mail.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../src/mail.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hedhog/mail",
3
- "version": "0.46.1",
3
+ "version": "0.46.3",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "build": "tsc --project tsconfig.production.json && npm version patch",
@@ -3,6 +3,7 @@ import { ModuleMetadata } from '@nestjs/common';
3
3
  export type MailModuleOptions =
4
4
  | {
5
5
  global?: boolean;
6
+ debug?: boolean;
6
7
  type: 'AWS';
7
8
  region: string;
8
9
  accessKeyId: string;
@@ -11,15 +12,18 @@ export type MailModuleOptions =
11
12
  }
12
13
  | {
13
14
  global?: boolean;
15
+ debug?: boolean;
14
16
  type: 'SMTP';
15
17
  host: string;
16
18
  port: number;
17
19
  secure?: boolean;
18
20
  username: string;
19
21
  password: string;
22
+ rejectUnauthorized?: boolean;
20
23
  }
21
24
  | {
22
25
  global?: boolean;
26
+ debug?: boolean;
23
27
  type: 'GMAIL';
24
28
  clientId: string;
25
29
  clientSecret: string;
@@ -1,5 +1,5 @@
1
1
  import { HttpService } from '@nestjs/axios';
2
- import { forwardRef, Inject, Injectable } from '@nestjs/common';
2
+ import { forwardRef, Inject, Injectable, OnModuleInit } from '@nestjs/common';
3
3
  import * as mimemessage from 'mimemessage';
4
4
  import { firstValueFrom } from 'rxjs';
5
5
  import { MailConfigurationTypeEnum } from './enums/mail-configuration-type.enum';
@@ -7,15 +7,30 @@ import { MailModuleOptions } from './interfaces/mail-module-options.interface';
7
7
  import { Mail, MAIL_MODULE_OPTIONS } from './mail.consts';
8
8
 
9
9
  @Injectable()
10
- export class MailService {
10
+ export class MailService implements OnModuleInit {
11
+ private debug = false;
12
+
11
13
  constructor(
12
14
  @Inject(MAIL_MODULE_OPTIONS)
13
15
  private readonly mailConfig: MailModuleOptions,
14
16
  @Inject(forwardRef(() => HttpService))
15
17
  private readonly httpService: HttpService,
16
- ) { }
18
+ ) {}
19
+
20
+ async onModuleInit() {
21
+ if (this.mailConfig.debug) {
22
+ this.debug = true;
23
+ }
24
+ }
25
+
26
+ private log(...args: any[]) {
27
+ if (this.debug) {
28
+ console.log(...args);
29
+ }
30
+ }
17
31
 
18
32
  async send(mail: Mail) {
33
+ this.log('Sending mail:', mail);
19
34
  switch (this.mailConfig.type) {
20
35
  case MailConfigurationTypeEnum.AWS:
21
36
  return this.sendWithSES(mail);
@@ -81,7 +96,6 @@ export class MailService {
81
96
 
82
97
  return encodedMessage;
83
98
  } else {
84
-
85
99
  const encodedSubject = `=?utf-8?B?${Buffer.from(mail.subject).toString('base64')}?=`;
86
100
 
87
101
  const messageParts = [
@@ -115,10 +129,20 @@ export class MailService {
115
129
  host,
116
130
  port,
117
131
  secure = false,
132
+ rejectUnauthorized = true,
118
133
  } = this.mailConfig;
119
134
 
120
135
  const nodemailer = await import('nodemailer');
121
136
 
137
+ this.log(`Sending mail with SMTP`, {
138
+ host,
139
+ port,
140
+ secure,
141
+ user,
142
+ pass,
143
+ rejectUnauthorized,
144
+ });
145
+
122
146
  const transporter = nodemailer.createTransport({
123
147
  host,
124
148
  port,
@@ -127,9 +151,12 @@ export class MailService {
127
151
  user,
128
152
  pass,
129
153
  },
154
+ tls: {
155
+ rejectUnauthorized,
156
+ },
130
157
  });
131
158
 
132
- return transporter.sendMail({
159
+ const result = await transporter.sendMail({
133
160
  from: mail.from || process.env.SMTP_FROM || process.env.SMTP_USER,
134
161
  to: mail.to,
135
162
  subject: mail.subject,
@@ -139,6 +166,10 @@ export class MailService {
139
166
  replyTo: mail.replyTo,
140
167
  priority: mail.priority,
141
168
  });
169
+
170
+ this.log('Email sent:', result);
171
+
172
+ return result;
142
173
  }
143
174
 
144
175
  async sendWithGmail(mail: Mail) {
@@ -148,6 +179,13 @@ export class MailService {
148
179
  const { clientId, clientSecret, from, refreshToken } = this.mailConfig;
149
180
  const redirectURI = 'https://developers.google.com/oauthplayground';
150
181
 
182
+ this.log(`Sending mail with Gmail`, {
183
+ clientId,
184
+ clientSecret,
185
+ from,
186
+ refreshToken,
187
+ });
188
+
151
189
  const { auth } = await import('googleapis/build/src/apis/oauth2');
152
190
 
153
191
  const oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectURI);
@@ -176,7 +214,11 @@ export class MailService {
176
214
 
177
215
  const response = this.httpService.post(url, requestBody, { headers });
178
216
 
179
- return firstValueFrom(response);
217
+ const result = await firstValueFrom(response);
218
+
219
+ this.log('Email sent:', result);
220
+
221
+ return result;
180
222
  }
181
223
 
182
224
  async sendWithSES(mail: Mail) {
@@ -185,6 +227,13 @@ export class MailService {
185
227
  }
186
228
  const { region, from, accessKeyId, secretAccessKey } = this.mailConfig;
187
229
 
230
+ this.log(`Sending mail with AWS SES`, {
231
+ region,
232
+ from,
233
+ accessKeyId,
234
+ secretAccessKey,
235
+ });
236
+
188
237
  const { SES } = await import('aws-sdk');
189
238
 
190
239
  const ses = new SES({
@@ -297,7 +346,11 @@ export class MailService {
297
346
  Source: from,
298
347
  };
299
348
 
300
- return ses.sendEmail(params).promise();
349
+ const result = await ses.sendEmail(params).promise();
350
+
351
+ this.log('Email sent:', result);
352
+
353
+ return result;
301
354
  }
302
355
  }
303
356
  }