feat: add email ejs template route

This commit is contained in:
Innei
2021-09-11 10:48:39 +08:00
parent 5c0be27773
commit 3861162772
7 changed files with 82 additions and 6 deletions

View File

@@ -1,14 +1,14 @@
import { Injectable, Logger } from '@nestjs/common'
import { render } from 'ejs'
import { readFileSync } from 'fs'
import { readFileSync, writeFileSync } from 'fs'
import { createTransport } from 'nodemailer'
import path from 'path'
import { ConfigsService } from '~/modules/configs/configs.service'
import { LinkModel } from '~/modules/link/link.model'
export enum ReplyMailType {
Owner,
Guest,
Owner = 'owner',
Guest = 'guest',
}
export enum LinkApplyEmailType {
@@ -46,6 +46,29 @@ export class EmailService {
}
}
writeTemplate(type: ReplyMailType, source: string) {
switch (type) {
case ReplyMailType.Guest:
return writeFileSync(
path.resolve(
process.cwd(),
'assets/email-template/guest.template.ejs',
),
source,
{ encoding: 'utf-8' },
)
case ReplyMailType.Owner:
return writeFileSync(
path.resolve(
process.cwd(),
'assets/email-template/owner.template.ejs',
),
source,
{ encoding: 'utf-8' },
)
}
}
init() {
this.getConfigFromConfigService().then((config) => {
this.instance = createTransport({