7.0.0-alpha.4 • Published 5 months ago

@concepta/nestjs-email v7.0.0-alpha.4

Weekly downloads
-
License
BSD-3-Clause
Repository
-
Last release
5 months ago

Rockets NestJS Email

Email Documentation

Email deliver module that supports the popular @nestjs-modules/mailer module.

Project

NPM Latest NPM Downloads GH Last Commit GH Contrib NestJS Dep

Installation

yarn add @concepta/nestjs-email

yarn add @nestjs-modules/mailer handlebars

Tutorial

Configuring Email Settings

First, let's configure the email settings required for the verification system. Create a configuration file to set up the mailer options.

// config/mailer.config.ts
import { MailerOptions } from '@nestjs-modules/mailer';
import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter';
import { registerAs } from '@nestjs/config';

export const mailerConfig = registerAs(
  'MAILER_CONFIG',
  (): MailerOptions => ({
    transport: {
      host: process.env?.MAILGUN_SMTP_SERVER ?? 'smtp.mailgun.org',
      port: process.env?.MAILGUN_SMTP_PORT
        ? Number(process.env?.MAILGUN_SMTP_PORT)
        : 587,
      auth: {
        user: process.env?.MAILGUN_SMTP_LOGIN ?? '',
        pass: process.env?.MAILGUN_SMTP_PASSWORD ?? '',
      },
    },
    defaults: {
      from: process.env?.NODEMAILER_FROM_EMAIL ?? 'no-reply@email.com',
    },
    template: {
      dir: `${__dirname}/../${
        process.env?.NODEMAILER_TEMPLATE_PATH ?? 'assets/templates/email'
      }`,
      adapter: new HandlebarsAdapter(),
      options: {
        strict: true,
      },
    },
  }),
);

Initializing Modules

Initialize the EmailModule and MailerModule in your application:

import { MailerModule, MailerService } from '@nestjs-modules/mailer';
import { mailerConfig } from './config/mailer.config';
import { EmailModule } from '@concepta/nestjs-email';

// ...
ConfigModule.forRoot({
  isGlobal: true,
  load: [
    //...
    mailerConfig,
  ],
}),
MailerModule.forRootAsync({
  inject: [mailerConfig.KEY],
  useFactory: async (config: ConfigType<typeof mailerConfig>) => config,
}),
EmailModule.forRootAsync({
  inject: [MailerService],
  useFactory: (mailerService: MailerService) => ({ mailerService }),
}),
// ...
6.0.0-alpha.3

8 months ago

6.0.0-alpha.4

7 months ago

7.0.0-alpha.1

7 months ago

7.0.0-alpha.0

7 months ago

5.1.0

11 months ago

7.0.0-alpha.3

6 months ago

7.0.0-alpha.2

7 months ago

6.0.0-alpha.0

10 months ago

6.0.0-alpha.1

9 months ago

7.0.0-alpha.4

5 months ago

6.0.0-alpha.2

8 months ago

5.0.0

11 months ago

5.0.0-alpha.6

1 year ago

5.0.0-alpha.5

1 year ago

5.0.0-alpha.4

1 year ago

5.0.0-alpha.3

1 year ago

5.0.0-alpha.2

1 year ago

5.0.0-alpha.1

1 year ago

5.0.0-alpha.0

1 year ago

4.0.0-alpha.49

1 year ago

4.0.0-alpha.48

1 year ago

4.0.0-alpha.47

1 year ago

4.0.0

1 year ago

4.0.0-alpha.46

1 year ago

4.0.0-alpha.45

1 year ago

4.0.0-alpha.44

1 year ago

4.0.0-alpha.43

1 year ago

4.0.0-alpha.42

2 years ago

4.0.0-alpha.41

2 years ago

4.0.0-alpha.40

2 years ago

4.0.0-alpha.39

2 years ago

4.0.0-alpha.38

2 years ago

4.0.0-alpha.37

2 years ago

4.0.0-alpha.36

2 years ago

4.0.0-alpha.35

2 years ago

4.0.0-alpha.34

2 years ago

4.0.0-alpha.31

2 years ago

4.0.0-alpha.30

2 years ago

4.0.0-alpha.33

2 years ago

4.0.0-alpha.32

2 years ago

4.0.0-alpha.28

2 years ago

4.0.0-alpha.27

2 years ago

4.0.0-alpha.26

2 years ago

4.0.0-alpha.25

2 years ago

4.0.0-alpha.29

2 years ago

4.0.0-alpha.24

2 years ago

4.0.0-alpha.23

3 years ago

4.0.0-alpha.22

3 years ago

4.0.0-alpha.19

3 years ago

4.0.0-alpha.20

3 years ago

4.0.0-alpha.21

3 years ago

4.0.0-alpha.17

3 years ago

4.0.0-alpha.16

3 years ago

4.0.0-alpha.15

3 years ago

4.0.0-alpha.14

3 years ago

4.0.0-alpha.18

3 years ago

4.0.0-alpha.13

3 years ago

4.0.0-alpha.12

3 years ago

4.0.0-alpha.11

3 years ago

4.0.0-alpha.9

4 years ago

4.0.0-alpha.10

4 years ago

4.0.0-alpha.8

4 years ago

4.0.0-alpha.7

4 years ago

4.0.0-alpha.6

4 years ago