카테고리 없음

Nest.js 메일인증 구현

2023. 8. 13. 23:39
목차
  1. 1.app.module.ts에 메일 인증 import
  2. 2. controller계층에 메일인증 메서드 선언
  3. 3. service계층에 비즈니스 로직 작성

1.app.module.ts에 메일 인증 import

  • mail전송 기본 설정 import
 MailerModule.forRootAsync({
      useFactory: () => ({
        transport: {
          host: process.env.EMAILHOST,
          port: +process.env.EMAILPORT,
          auth: {
            user: process.env.EMAILADDRESS,
            pass: process.env.EMAILPASSWORD,
          },
        },
        defaults: {
          from: '"nest-modules" <modules@nestjs.com>',
        },
        template: {
          dir: __dirname + '/templates',
          adapter: new EjsAdapter(),
          options: {
            strict: true,
          },
        },
      }),
    }),

2. controller계층에 메일인증 메서드 선언

  @Post('/authcode')
  async verifyEmailSend(
    @Body() verifyEmailDto: VerifyEmailDto,
  ): Promise<number> {
    const { email } = verifyEmailDto;
    return await this.usersService.verifyEmailSend(email);
  }

3. service계층에 비즈니스 로직 작성

  async verifyEmailSend(email: string): Promise<number> {
    try {
      const authcode: number = await this.createEmailCode();
      console.log(authcode);
      await this.mailerService.sendMail({
        to: email, // 수신자이메일 수조
        from: 'ystar5008@naver.com', // 발신자 이메일 주소
        subject: '이메일 인증 요청 메일입니다.', // 제목
        html: '4자리 인증 코드 : ' + `<b> ${authcode}</b>`, // 내용
      });
      return authcode;
    } catch (err) {
      throw new InternalServerErrorException(
        '이메일 전송 중 오류가 발생했습니다.',
      );
    }
  }
  1. 1.app.module.ts에 메일 인증 import
  2. 2. controller계층에 메일인증 메서드 선언
  3. 3. service계층에 비즈니스 로직 작성
index.ys
index.ys
머리속에 떠도는 코드조각들을 맞추는 공간입니다.
코린이 개발일지머리속에 떠도는 코드조각들을 맞추는 공간입니다.
index.ys
코린이 개발일지
index.ys
전체
오늘
어제

공지사항

블로그 메뉴

  • 홈
  • 방명록
  • Github
  • Notion
  • Figma
  • 타닥타닥 (235)
    • 개발일지 (124)
    • html , css (0)
    • Javascript (30)
    • Node.js (8)
    • React (2)
    • 네트워크 (1)
    • DB, SQL (5)
    • AWS (11)
    • CS (21)
    • 면접 (13)
    • 사진 (4)
    • 북로그 (3)
    • 머릿속 (5)

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
index.ys
Nest.js 메일인증 구현
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.