import { Module } from '@nestjs/common'; import { MailerModule } from '@nestjs-modules/mailer'; import { EmailService } from './email.service'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { EmailController } from './email.controller'; @Module({ imports: [ MailerModule.forRootAsync({ imports: [ConfigModule], useFactory: async (config: ConfigService) => ({ transport: { host: config.get('SMTP_HOST'), port: config.get('SMTP_PORT'), secure: true, auth: { user: config.get('SMTP_USER'), pass: config.get('SMTP_PASSWORD'), }, }, defaults: { from: `"No Reply" <${config.get('SMTP_FROM')}>`, }, }), inject: [ConfigService], }), ], controllers: [EmailController], providers: [EmailService], exports: [EmailService], }) export class EmailModule {}