48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import * as path from 'path'
|
|
|
|
import { Global, Module } from '@nestjs/common'
|
|
|
|
import { MailService } from './mail.service'
|
|
import { MailerModule } from '@nestjs-modules/mailer'
|
|
import { OpenaiModule } from '../OpenAI/openai.module'
|
|
import { PugAdapter } from '@nestjs-modules/mailer/dist/adapters/pug.adapter'
|
|
|
|
@Global()
|
|
@Module({
|
|
imports: [
|
|
MailerModule.forRootAsync({
|
|
useFactory: () => ({
|
|
transport: {
|
|
host: process.env.MAILU_HOST,
|
|
port: parseInt(process.env.MAILU_PORT || '587'),
|
|
secure: false,
|
|
pool: true,
|
|
authMethod: 'login',
|
|
path: '/',
|
|
auth: {
|
|
user: process.env.MAILU_USER,
|
|
pass: process.env.MAILU_PASSWORD,
|
|
},
|
|
verify: true,
|
|
},
|
|
defaults: {
|
|
from: process.env.MAILU_FROM,
|
|
},
|
|
template: {
|
|
dir: path.join(__dirname, 'templates'),
|
|
adapter: new PugAdapter({
|
|
inlineCssEnabled: true,
|
|
}),
|
|
options: {
|
|
strict: true,
|
|
},
|
|
},
|
|
}),
|
|
}),
|
|
OpenaiModule,
|
|
],
|
|
providers: [MailService],
|
|
exports: [MailService],
|
|
})
|
|
export class MailModule {}
|