记录邮箱验证码发送

This commit is contained in:
秦秋旭 2023-03-02 17:21:50 +08:00
parent faf34c241b
commit ba71e011f0

View File

@ -1,9 +1,11 @@
import { import {
Inject, Inject,
Injectable, Injectable,
Logger,
ConflictException, ConflictException,
NotFoundException, NotFoundException,
ForbiddenException, ForbiddenException,
InternalServerErrorException,
} from '@nestjs/common' } from '@nestjs/common'
import { securityConfig, SecurityConfig } from 'src/common/configs' import { securityConfig, SecurityConfig } from 'src/common/configs'
import { MailerService } from '@nestjs-modules/mailer' import { MailerService } from '@nestjs-modules/mailer'
@ -25,12 +27,13 @@ export class EmailService {
[EmailScene.changeEmail]: '修改邮箱', [EmailScene.changeEmail]: '修改邮箱',
[EmailScene.deleteUser]: '删除用户', [EmailScene.deleteUser]: '删除用户',
} }
private readonly logger = new Logger('Email')
constructor( constructor(
private prismaService: PrismaService, private prismaService: PrismaService,
private mailerService: MailerService, private mailerService: MailerService,
private jwtService: JwtService, private jwtService: JwtService,
@Inject(securityConfig.KEY) @Inject(securityConfig.KEY) private secureConfig: SecurityConfig,
private secureConfig: SecurityConfig,
) {} ) {}
async sendEmailToken( async sendEmailToken(
@ -60,10 +63,19 @@ export class EmailService {
{ email, scene }, { email, scene },
{ secret: this.getEmailJwtSecret(verifyCode, scene) }, { secret: this.getEmailJwtSecret(verifyCode, scene) },
) )
await this.mailerService.sendMail({ const sendEmailConfig = {
to: email, to: email,
subject: `【qiuxu.site】${this.subjectMap[scene]}`, subject: `【qiuxu.site】${this.subjectMap[scene]}`,
html: `您正在qiuxu.site${this.subjectMap[scene]},验证码为 <strong>${verifyCode}</strong>30分钟内有效`, html: `您正在qiuxu.site${this.subjectMap[scene]},验证码为 <strong>${verifyCode}</strong>30分钟内有效`,
}
await this.mailerService
.sendMail(sendEmailConfig)
.then(() => {
this.logger.log(JSON.stringify(sendEmailConfig))
})
.catch((err) => {
this.logger.error(err)
throw new InternalServerErrorException(err.message)
}) })
return { token, userId: user?.id } return { token, userId: user?.id }
} }