@nauth-toolkit/email-nodemailer 0.1.61 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/nodemailer-email.provider.d.ts +159 -0
  2. package/dist/nodemailer-email.provider.d.ts.map +1 -1
  3. package/dist/nodemailer-email.provider.js +352 -0
  4. package/dist/nodemailer-email.provider.js.map +1 -1
  5. package/dist/templates/default/account-disabled.html.hbs +643 -0
  6. package/dist/templates/default/account-disabled.text.hbs +16 -0
  7. package/dist/templates/default/account-enabled.html.hbs +669 -0
  8. package/dist/templates/default/account-enabled.text.hbs +16 -0
  9. package/dist/templates/default/adaptive-mfa-risk-alert.html.hbs +694 -0
  10. package/dist/templates/default/adaptive-mfa-risk-alert.text.hbs +21 -0
  11. package/dist/templates/default/admin-password-reset.html.hbs +657 -0
  12. package/dist/templates/default/admin-password-reset.text.hbs +16 -0
  13. package/dist/templates/default/email-changed-new.html.hbs +679 -0
  14. package/dist/templates/default/email-changed-new.text.hbs +20 -0
  15. package/dist/templates/default/email-changed-old.html.hbs +669 -0
  16. package/dist/templates/default/email-changed-old.text.hbs +20 -0
  17. package/dist/templates/default/mfa-device-removed.html.hbs +681 -0
  18. package/dist/templates/default/mfa-device-removed.text.hbs +20 -0
  19. package/dist/templates/default/mfa-method-added.html.hbs +66 -0
  20. package/dist/templates/default/mfa-method-added.text.hbs +14 -0
  21. package/dist/templates/default/sessions-revoked.html.hbs +705 -0
  22. package/dist/templates/default/sessions-revoked.text.hbs +20 -0
  23. package/dist/templates/handlebars-template.engine.d.ts +37 -0
  24. package/dist/templates/handlebars-template.engine.d.ts.map +1 -1
  25. package/dist/templates/handlebars-template.engine.js +49 -3
  26. package/dist/templates/handlebars-template.engine.js.map +1 -1
  27. package/package.json +2 -2
  28. package/src/templates/default/account-disabled.html.hbs +643 -0
  29. package/src/templates/default/account-disabled.text.hbs +16 -0
  30. package/src/templates/default/account-enabled.html.hbs +669 -0
  31. package/src/templates/default/account-enabled.text.hbs +16 -0
  32. package/src/templates/default/adaptive-mfa-risk-alert.html.hbs +694 -0
  33. package/src/templates/default/adaptive-mfa-risk-alert.text.hbs +21 -0
  34. package/src/templates/default/admin-password-reset.html.hbs +657 -0
  35. package/src/templates/default/admin-password-reset.text.hbs +16 -0
  36. package/src/templates/default/email-changed-new.html.hbs +679 -0
  37. package/src/templates/default/email-changed-new.text.hbs +20 -0
  38. package/src/templates/default/email-changed-old.html.hbs +669 -0
  39. package/src/templates/default/email-changed-old.text.hbs +20 -0
  40. package/src/templates/default/mfa-device-removed.html.hbs +681 -0
  41. package/src/templates/default/mfa-device-removed.text.hbs +20 -0
  42. package/src/templates/default/mfa-method-added.html.hbs +66 -0
  43. package/src/templates/default/mfa-method-added.text.hbs +14 -0
  44. package/src/templates/default/sessions-revoked.html.hbs +705 -0
  45. package/src/templates/default/sessions-revoked.text.hbs +20 -0
@@ -240,11 +240,20 @@ export declare class NodemailerProvider implements EmailProvider {
240
240
  private readonly defaults;
241
241
  private readonly preview;
242
242
  private globalVariables;
243
+ private config?;
243
244
  /**
244
245
  * Set logger instance (called by AuthModule to inject NAuthLogger)
245
246
  * @param logger - Logger instance to use
246
247
  */
247
248
  setLogger(logger: LoggerService): void;
249
+ /**
250
+ * Set NAuth configuration (called during initialization)
251
+ *
252
+ * Allows email provider to access emailNotifications config for suppression logic.
253
+ *
254
+ * @param config - NAuth configuration object
255
+ */
256
+ setConfig(config: import('@nauth-toolkit/core').NAuthConfig): void;
248
257
  /**
249
258
  * Set global template variables (called by AuthModule to inject email config)
250
259
  * @param variables - Global variables to merge with all template variables
@@ -334,11 +343,161 @@ export declare class NodemailerProvider implements EmailProvider {
334
343
  ipAddress?: string;
335
344
  location?: string;
336
345
  }, variables?: TemplateVariables): Promise<void>;
346
+ /**
347
+ * Send password changed security alert
348
+ *
349
+ * @param to - Recipient email address
350
+ * @param context - Password change context
351
+ * @param variables - Additional template variables
352
+ */
353
+ sendPasswordChangedEmail(to: string, context?: {
354
+ changedBy?: 'user' | 'admin' | 'reset';
355
+ sessionsRevoked?: number;
356
+ timestamp?: string;
357
+ }, variables?: TemplateVariables): Promise<void>;
358
+ /**
359
+ * Send MFA device removed security alert
360
+ *
361
+ * @param to - Recipient email address
362
+ * @param context - Device removal context
363
+ * @param variables - Additional template variables
364
+ */
365
+ sendMFADeviceRemovedEmail(to: string, context?: {
366
+ deviceType?: string;
367
+ deviceName?: string;
368
+ removedBy?: 'user' | 'system';
369
+ reason?: string;
370
+ remainingDeviceCount?: number;
371
+ }, variables?: TemplateVariables): Promise<void>;
372
+ /**
373
+ * Send adaptive MFA risk detection alert
374
+ *
375
+ * @param to - Recipient email address
376
+ * @param context - Risk detection context
377
+ * @param variables - Additional template variables
378
+ */
379
+ sendAdaptiveMFARiskAlertEmail(to: string, context?: {
380
+ riskScore?: number;
381
+ riskLevel?: 'low' | 'medium' | 'high';
382
+ riskFactors?: string[];
383
+ action?: string;
384
+ timestamp?: string;
385
+ }, variables?: TemplateVariables): Promise<void>;
386
+ /**
387
+ * Send account disabled notification
388
+ *
389
+ * @param to - Recipient email address
390
+ * @param context - Account disable context
391
+ * @param variables - Additional template variables
392
+ */
393
+ sendAccountDisabledEmail(to: string, context?: {
394
+ reason?: string;
395
+ performedBy?: string;
396
+ timestamp?: string;
397
+ }, variables?: TemplateVariables): Promise<void>;
398
+ /**
399
+ * Send account enabled notification
400
+ *
401
+ * @param to - Recipient email address
402
+ * @param context - Account enable context
403
+ * @param variables - Additional template variables
404
+ */
405
+ sendAccountEnabledEmail(to: string, context?: {
406
+ reason?: string;
407
+ performedBy?: string;
408
+ timestamp?: string;
409
+ }, variables?: TemplateVariables): Promise<void>;
410
+ /**
411
+ * Send email changed alert (to OLD email address)
412
+ *
413
+ * @param to - OLD email address
414
+ * @param context - Email change context
415
+ * @param variables - Additional template variables
416
+ */
417
+ sendEmailChangedAlertEmail(to: string, context?: {
418
+ newEmail?: string;
419
+ deactivatedMFADevices?: number;
420
+ timestamp?: string;
421
+ }, variables?: TemplateVariables): Promise<void>;
422
+ /**
423
+ * Send email changed confirmation (to NEW email address)
424
+ *
425
+ * @param to - NEW email address
426
+ * @param context - Email change context
427
+ * @param variables - Additional template variables
428
+ */
429
+ sendEmailChangedConfirmationEmail(to: string, context?: {
430
+ oldEmail?: string;
431
+ timestamp?: string;
432
+ }, variables?: TemplateVariables): Promise<void>;
433
+ /**
434
+ * Send account locked notification
435
+ *
436
+ * @param to - Recipient email address
437
+ * @param context - Lockout context
438
+ * @param variables - Additional template variables
439
+ */
440
+ sendAccountLockedEmail(to: string, context?: {
441
+ reason?: string;
442
+ lockType?: 'temporary' | 'permanent';
443
+ lockDuration?: number;
444
+ lockedUntil?: Date;
445
+ ipAddress?: string;
446
+ failedAttempts?: number;
447
+ }, variables?: TemplateVariables): Promise<void>;
448
+ /**
449
+ * Send sessions revoked security alert
450
+ *
451
+ * @param to - Recipient email address
452
+ * @param context - Session revocation context
453
+ * @param variables - Additional template variables
454
+ */
455
+ sendSessionsRevokedEmail(to: string, context?: {
456
+ revokedCount?: number;
457
+ reason?: string;
458
+ triggerEvent?: string;
459
+ timestamp?: string;
460
+ }, variables?: TemplateVariables): Promise<void>;
461
+ /**
462
+ * Send MFA first enabled confirmation
463
+ *
464
+ * @param to - Recipient email address
465
+ * @param context - MFA enrollment context
466
+ * @param variables - Additional template variables
467
+ */
468
+ sendMFAFirstEnabledEmail(to: string, context?: {
469
+ firstMethod?: string;
470
+ deviceName?: string;
471
+ timestamp?: string;
472
+ }, variables?: TemplateVariables): Promise<void>;
473
+ /**
474
+ * Send MFA method added notification
475
+ *
476
+ * @param to - Recipient email address
477
+ * @param context - MFA method addition context
478
+ * @param variables - Additional template variables
479
+ */
480
+ sendMFAMethodAddedEmail(to: string, context?: {
481
+ method?: string;
482
+ enabledMethods?: string[];
483
+ deviceName?: string;
484
+ timestamp?: string;
485
+ }, variables?: TemplateVariables): Promise<void>;
337
486
  /**
338
487
  * Send email using Nodemailer
339
488
  * @private
340
489
  */
341
490
  private sendMail;
491
+ /**
492
+ * Check if email notification should be sent based on config
493
+ *
494
+ * Checks global enabled flag and per-notification suppression settings.
495
+ *
496
+ * @param notificationType - Type of notification (matches suppress config keys)
497
+ * @returns True if email should be sent, false if suppressed
498
+ * @private
499
+ */
500
+ private shouldSendEmail;
342
501
  /**
343
502
  * Close transporter connection
344
503
  */
@@ -1 +1 @@
1
- {"version":3,"file":"nodemailer-email.provider.d.ts","sourceRoot":"","sources":["../src/nodemailer-email.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodemailer-email.provider.d.ts","sourceRoot":"","sources":["../src/nodemailer-email.provider.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,7 @@ class NodemailerProvider {
144
144
  defaults;
145
145
  preview;
146
146
  globalVariables = {};
147
+ config;
147
148
  /**
148
149
  * Set logger instance (called by AuthModule to inject NAuthLogger)
149
150
  * @param logger - Logger instance to use
@@ -151,6 +152,16 @@ class NodemailerProvider {
151
152
  setLogger(logger) {
152
153
  this.logger = logger;
153
154
  }
155
+ /**
156
+ * Set NAuth configuration (called during initialization)
157
+ *
158
+ * Allows email provider to access emailNotifications config for suppression logic.
159
+ *
160
+ * @param config - NAuth configuration object
161
+ */
162
+ setConfig(config) {
163
+ this.config = config;
164
+ }
154
165
  /**
155
166
  * Set global template variables (called by AuthModule to inject email config)
156
167
  * @param variables - Global variables to merge with all template variables
@@ -421,6 +432,318 @@ class NodemailerProvider {
421
432
  text: email.text,
422
433
  });
423
434
  }
435
+ /**
436
+ * Send password changed security alert
437
+ *
438
+ * @param to - Recipient email address
439
+ * @param context - Password change context
440
+ * @param variables - Additional template variables
441
+ */
442
+ async sendPasswordChangedEmail(to, context = {}, variables = {}) {
443
+ if (!this.shouldSendEmail('passwordChanged'))
444
+ return;
445
+ const templateVariables = {
446
+ ...this.globalVariables,
447
+ userName: to.split('@')[0],
448
+ userEmail: to,
449
+ changedBy: context.changedBy || 'user',
450
+ sessionsRevoked: context.sessionsRevoked,
451
+ timestamp: context.timestamp || new Date().toISOString(),
452
+ ...variables,
453
+ };
454
+ const email = await this.templateEngine.render(core_1.TemplateType.PASSWORD_CHANGED, templateVariables);
455
+ await this.sendMail({
456
+ to,
457
+ subject: email.subject,
458
+ html: email.html,
459
+ text: email.text,
460
+ });
461
+ }
462
+ /**
463
+ * Send MFA device removed security alert
464
+ *
465
+ * @param to - Recipient email address
466
+ * @param context - Device removal context
467
+ * @param variables - Additional template variables
468
+ */
469
+ async sendMFADeviceRemovedEmail(to, context = {}, variables = {}) {
470
+ if (!this.shouldSendEmail('mfaDeviceRemoved'))
471
+ return;
472
+ const templateVariables = {
473
+ ...this.globalVariables,
474
+ userName: to.split('@')[0],
475
+ userEmail: to,
476
+ deviceType: context.deviceType || 'Unknown',
477
+ deviceName: context.deviceName || 'Unknown Device',
478
+ removedBy: context.removedBy || 'user',
479
+ reason: context.reason || 'User request',
480
+ remainingDeviceCount: context.remainingDeviceCount || 0,
481
+ timestamp: new Date().toISOString(),
482
+ ...variables,
483
+ };
484
+ const email = await this.templateEngine.render(core_1.TemplateType.MFA_DEVICE_REMOVED, templateVariables);
485
+ await this.sendMail({
486
+ to,
487
+ subject: email.subject,
488
+ html: email.html,
489
+ text: email.text,
490
+ });
491
+ }
492
+ /**
493
+ * Send adaptive MFA risk detection alert
494
+ *
495
+ * @param to - Recipient email address
496
+ * @param context - Risk detection context
497
+ * @param variables - Additional template variables
498
+ */
499
+ async sendAdaptiveMFARiskAlertEmail(to, context = {}, variables = {}) {
500
+ if (!this.shouldSendEmail('adaptiveMfaRiskDetected'))
501
+ return;
502
+ const riskFactorsText = context.riskFactors && context.riskFactors.length > 0 ? context.riskFactors.join(', ') : undefined;
503
+ const templateVariables = {
504
+ ...this.globalVariables,
505
+ userName: to.split('@')[0],
506
+ userEmail: to,
507
+ riskScore: context.riskScore || 0,
508
+ riskLevel: context.riskLevel || 'medium',
509
+ // Only set this variable when we actually have factors. Templates use {{#if riskFactors}}.
510
+ riskFactors: riskFactorsText,
511
+ action: context.action || 'require_mfa',
512
+ timestamp: context.timestamp || new Date().toISOString(),
513
+ ...variables,
514
+ };
515
+ const email = await this.templateEngine.render(core_1.TemplateType.ADAPTIVE_MFA_RISK_ALERT, templateVariables);
516
+ await this.sendMail({
517
+ to,
518
+ subject: email.subject,
519
+ html: email.html,
520
+ text: email.text,
521
+ });
522
+ }
523
+ /**
524
+ * Send account disabled notification
525
+ *
526
+ * @param to - Recipient email address
527
+ * @param context - Account disable context
528
+ * @param variables - Additional template variables
529
+ */
530
+ async sendAccountDisabledEmail(to, context = {}, variables = {}) {
531
+ if (!this.shouldSendEmail('accountDisabled'))
532
+ return;
533
+ const templateVariables = {
534
+ ...this.globalVariables,
535
+ userName: to.split('@')[0],
536
+ userEmail: to,
537
+ reason: context.reason || 'Administrative action',
538
+ performedBy: context.performedBy || 'Administrator',
539
+ timestamp: context.timestamp || new Date().toISOString(),
540
+ ...variables,
541
+ };
542
+ const email = await this.templateEngine.render(core_1.TemplateType.ACCOUNT_DISABLED, templateVariables);
543
+ await this.sendMail({
544
+ to,
545
+ subject: email.subject,
546
+ html: email.html,
547
+ text: email.text,
548
+ });
549
+ }
550
+ /**
551
+ * Send account enabled notification
552
+ *
553
+ * @param to - Recipient email address
554
+ * @param context - Account enable context
555
+ * @param variables - Additional template variables
556
+ */
557
+ async sendAccountEnabledEmail(to, context = {}, variables = {}) {
558
+ if (!this.shouldSendEmail('accountEnabled'))
559
+ return;
560
+ const templateVariables = {
561
+ ...this.globalVariables,
562
+ userName: to.split('@')[0],
563
+ userEmail: to,
564
+ reason: context.reason || 'Administrative action',
565
+ performedBy: context.performedBy || 'Administrator',
566
+ timestamp: context.timestamp || new Date().toISOString(),
567
+ ...variables,
568
+ };
569
+ const email = await this.templateEngine.render(core_1.TemplateType.ACCOUNT_ENABLED, templateVariables);
570
+ await this.sendMail({
571
+ to,
572
+ subject: email.subject,
573
+ html: email.html,
574
+ text: email.text,
575
+ });
576
+ }
577
+ /**
578
+ * Send email changed alert (to OLD email address)
579
+ *
580
+ * @param to - OLD email address
581
+ * @param context - Email change context
582
+ * @param variables - Additional template variables
583
+ */
584
+ async sendEmailChangedAlertEmail(to, context = {}, variables = {}) {
585
+ if (!this.shouldSendEmail('emailChangedOld'))
586
+ return;
587
+ const templateVariables = {
588
+ ...this.globalVariables,
589
+ userName: to.split('@')[0],
590
+ userEmail: to,
591
+ newEmail: context.newEmail || 'Unknown',
592
+ deactivatedMFADevices: context.deactivatedMFADevices || 0,
593
+ timestamp: context.timestamp || new Date().toISOString(),
594
+ isOldEmail: true,
595
+ ...variables,
596
+ };
597
+ const email = await this.templateEngine.render(core_1.TemplateType.EMAIL_CHANGED_OLD, templateVariables);
598
+ await this.sendMail({
599
+ to,
600
+ subject: email.subject,
601
+ html: email.html,
602
+ text: email.text,
603
+ });
604
+ }
605
+ /**
606
+ * Send email changed confirmation (to NEW email address)
607
+ *
608
+ * @param to - NEW email address
609
+ * @param context - Email change context
610
+ * @param variables - Additional template variables
611
+ */
612
+ async sendEmailChangedConfirmationEmail(to, context = {}, variables = {}) {
613
+ if (!this.shouldSendEmail('emailChangedNew'))
614
+ return;
615
+ const templateVariables = {
616
+ ...this.globalVariables,
617
+ userName: to.split('@')[0],
618
+ userEmail: to,
619
+ oldEmail: context.oldEmail || 'Unknown',
620
+ timestamp: context.timestamp || new Date().toISOString(),
621
+ isOldEmail: false,
622
+ ...variables,
623
+ };
624
+ const email = await this.templateEngine.render(core_1.TemplateType.EMAIL_CHANGED_NEW, templateVariables);
625
+ await this.sendMail({
626
+ to,
627
+ subject: email.subject,
628
+ html: email.html,
629
+ text: email.text,
630
+ });
631
+ }
632
+ /**
633
+ * Send account locked notification
634
+ *
635
+ * @param to - Recipient email address
636
+ * @param context - Lockout context
637
+ * @param variables - Additional template variables
638
+ */
639
+ async sendAccountLockedEmail(to, context = {}, variables = {}) {
640
+ if (!this.shouldSendEmail('accountLockout'))
641
+ return;
642
+ const templateVariables = {
643
+ ...this.globalVariables,
644
+ userName: to.split('@')[0],
645
+ userEmail: to,
646
+ reason: context.reason || 'Multiple failed login attempts',
647
+ lockType: context.lockType || 'temporary',
648
+ lockDuration: context.lockDuration,
649
+ durationMinutes: context.lockDuration ? Math.round(context.lockDuration / 60) : undefined,
650
+ lockedUntil: context.lockedUntil?.toISOString(),
651
+ ipAddress: context.ipAddress,
652
+ failedAttempts: context.failedAttempts,
653
+ timestamp: new Date().toISOString(),
654
+ ...variables,
655
+ };
656
+ const email = await this.templateEngine.render(core_1.TemplateType.ACCOUNT_LOCKOUT, templateVariables);
657
+ await this.sendMail({
658
+ to,
659
+ subject: email.subject,
660
+ html: email.html,
661
+ text: email.text,
662
+ });
663
+ }
664
+ /**
665
+ * Send sessions revoked security alert
666
+ *
667
+ * @param to - Recipient email address
668
+ * @param context - Session revocation context
669
+ * @param variables - Additional template variables
670
+ */
671
+ async sendSessionsRevokedEmail(to, context = {}, variables = {}) {
672
+ if (!this.shouldSendEmail('sessionsRevoked'))
673
+ return;
674
+ const templateVariables = {
675
+ ...this.globalVariables,
676
+ userName: to.split('@')[0],
677
+ userEmail: to,
678
+ revokedCount: context.revokedCount || 0,
679
+ reason: context.reason || 'Security action',
680
+ triggerEvent: context.triggerEvent,
681
+ timestamp: context.timestamp || new Date().toISOString(),
682
+ ...variables,
683
+ };
684
+ const email = await this.templateEngine.render(core_1.TemplateType.SESSIONS_REVOKED, templateVariables);
685
+ await this.sendMail({
686
+ to,
687
+ subject: email.subject,
688
+ html: email.html,
689
+ text: email.text,
690
+ });
691
+ }
692
+ /**
693
+ * Send MFA first enabled confirmation
694
+ *
695
+ * @param to - Recipient email address
696
+ * @param context - MFA enrollment context
697
+ * @param variables - Additional template variables
698
+ */
699
+ async sendMFAFirstEnabledEmail(to, context = {}, variables = {}) {
700
+ if (!this.shouldSendEmail('mfaFirstEnabled'))
701
+ return;
702
+ const templateVariables = {
703
+ ...this.globalVariables,
704
+ userName: to.split('@')[0],
705
+ userEmail: to,
706
+ firstMethod: context.firstMethod || 'TOTP',
707
+ deviceName: context.deviceName,
708
+ timestamp: context.timestamp || new Date().toISOString(),
709
+ ...variables,
710
+ };
711
+ const email = await this.templateEngine.render(core_1.TemplateType.MFA_ENABLED, templateVariables);
712
+ await this.sendMail({
713
+ to,
714
+ subject: email.subject,
715
+ html: email.html,
716
+ text: email.text,
717
+ });
718
+ }
719
+ /**
720
+ * Send MFA method added notification
721
+ *
722
+ * @param to - Recipient email address
723
+ * @param context - MFA method addition context
724
+ * @param variables - Additional template variables
725
+ */
726
+ async sendMFAMethodAddedEmail(to, context = {}, variables = {}) {
727
+ if (!this.shouldSendEmail('mfaMethodAdded'))
728
+ return;
729
+ const templateVariables = {
730
+ ...this.globalVariables,
731
+ userName: to.split('@')[0],
732
+ userEmail: to,
733
+ method: context.method || 'unknown',
734
+ enabledMethods: context.enabledMethods,
735
+ deviceName: context.deviceName,
736
+ timestamp: context.timestamp || new Date().toISOString(),
737
+ ...variables,
738
+ };
739
+ const email = await this.templateEngine.render(core_1.TemplateType.MFA_METHOD_ADDED, templateVariables);
740
+ await this.sendMail({
741
+ to,
742
+ subject: email.subject,
743
+ html: email.html,
744
+ text: email.text,
745
+ });
746
+ }
424
747
  /**
425
748
  * Send email using Nodemailer
426
749
  * @private
@@ -463,6 +786,35 @@ class NodemailerProvider {
463
786
  throw error;
464
787
  }
465
788
  }
789
+ /**
790
+ * Check if email notification should be sent based on config
791
+ *
792
+ * Checks global enabled flag and per-notification suppression settings.
793
+ *
794
+ * @param notificationType - Type of notification (matches suppress config keys)
795
+ * @returns True if email should be sent, false if suppressed
796
+ * @private
797
+ */
798
+ shouldSendEmail(notificationType) {
799
+ const notifications = this.config?.emailNotifications;
800
+ // Check global kill switch
801
+ if (notifications?.enabled === false) {
802
+ this.logger?.debug?.(`[EmailNotifications] Global kill switch: ${notificationType} email suppressed`);
803
+ return false;
804
+ }
805
+ // Check per-notification suppression (default to true = DISABLED for optional notifications)
806
+ const suppress = notifications?.suppress;
807
+ const isSuppressed = suppress?.[notificationType];
808
+ // For code emails (verification, passwordReset, adminPasswordReset), default is false (ENABLED)
809
+ // For optional notifications, default is true (DISABLED)
810
+ const defaultSuppressed = !['emailVerification', 'passwordReset', 'adminPasswordReset'].includes(notificationType);
811
+ const shouldSuppress = isSuppressed !== undefined ? isSuppressed : defaultSuppressed;
812
+ if (shouldSuppress) {
813
+ this.logger?.debug?.(`[EmailNotifications] ${notificationType} email suppressed by config`);
814
+ return false;
815
+ }
816
+ return true;
817
+ }
466
818
  /**
467
819
  * Close transporter connection
468
820
  */
@@ -1 +1 @@
1
- {"version":3,"file":"nodemailer-email.provider.js","sourceRoot":"","sources":["../src/nodemailer-email.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodemailer-email.provider.js","sourceRoot":"","sources":["../src/nodemailer-email.provider.ts"],"names":[],"mappings":"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"}