프로젝트 정리/스프링과 JPA 기반 웹 애플리케이션 개발

18. 가입 확인 이메일 재전송

구현한 로직

  • 가입 확인 이메일을 재전송할 수 있는 기능 제공
  • 하지만, 너무 자주 이메일을 전송할 경우 리소스를 낭비할 수 있다는 문제가 있음
  • 보완책으로, 1시간에 한번만 인증 메일을 전송할 수 있도록 제한한다.

 

GET “/check-email”

  • 가입 확인 이메일을 전송한 이메일 주소 (== 가입할 때 입력한 이메일 주소)를 화면에 보여줌.
  • 재전송 버튼 보여주기.
  • 재전송 버튼 클릭하면 GET “/resend-confirm-email” 요청 전송

 

GET “/resend-confirm-email”

  • 인증 메일을 다시 전송할 수 있는지 확인한 뒤에
  • 보낼 수 있으면 전송하고, 첫 페이지로 리다이렉트
  • 보낼 수 없으면 에러 메시지를 모델에 담아주고 이메일 확인 페이지 다시 보여주기.

백기선님이 구현한 이메일 다시 보내기 로직

 

1시간 기준으로 보낸 여부 check
이메일 보내기 기능

 

1시간 이전에 클릭하여 에러 메시지가 나오는 모습