NestJs- Mail로 인증코드 보내기

eunseo·2021년 4월 14일
1

https://github.com/yanarp/nestjs-mailer/blob/master/src/app.module.ts

https://nest-modules.github.io/mailer/docs/mailer

Naver SMTP 이용

https://velog.io/@jiwon/-Nodemailer%EB%A1%9C-%EC%9D%B8%EC%A6%9D-%EA%B4%80%EB%A0%A8-%EC%9D%B4%EB%A9%94%EC%9D%BC-%EB%B3%B4%EB%82%B4%EA%B8%B0-d4k4pqoot4

npm install --save @nestjs-modules/mailer nodemailer
npm install --save handlebars

module.ts

@Module({
  imports: [
    TypeOrmModule.forFeature([UserRepository]),
    MailerModule.forRoot({
      transport: {
        service: 'Naver',
        host: 'smtp.naver.com',
        port: 587, 
        auth: {
          user: config.EMAIL_ID, // generated ethereal user
          pass: config.EMAIL_PASS, // generated ethereal password
        },
      },

      template: {
        dir: process.cwd() + '/template/',
        adapter: new HandlebarsAdapter(), // or new PugAdapter()
        options: {
          strict: true,
        },
      },
    }),
  ],
  controllers: [AuthController],
  providers: [AuthService, GoogleStrategy],
})

service.ts

async sendMail(email: string) {
    try {
      const number: number = generateRandom(111111, 999999);
      await this.mailerService.sendMail({
        to: email, // list of receivers
        from: '@naver.com', // sender address
        subject: '이메일 인증 요청 메일입니다.', // Subject line
        html: '6자리 인증 코드 : ' + `<b> ${number}</b>`, // HTML body content
      });
      return number;
    } catch (err) {
      console.log(err);
    }
  }

google

https://velog.io/@13circle/Nodemailer-X-Gmail-OAuth-2.0

profile
backend developer

0개의 댓글