@concepta/nestjs-email v7.0.0-alpha.4
Rockets NestJS Email
Email deliver module that supports the popular @nestjs-modules/mailer module.
Project
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 }),
}),
// ...8 months ago
7 months ago
7 months ago
7 months ago
11 months ago
6 months ago
7 months ago
10 months ago
9 months ago
5 months ago
8 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago