코딩/Spring 쇼핑몰 프로젝트

Spring [쇼핑몰프로젝트] - 인증번호 이메일 전송[8]

유미._. 2023. 4. 22. 20:30
728x90

 

 

오늘은 회원가입시 이메일 전송에 대한 두번째 포스팅을 해보겠습니다 ( *^-^)ρ 2

 

 

 

구현 순서

 

1. 인증번호 난수 생성

2. 인증번호 이메일 전송

3. 인증번호 뷰로 전송

 

 

1. 인증번호 난수 생성

 

인증번호는 6자리로 설정할 것입니다. 이를 위해 JAVA에서 Random 함수를 사용하겠습니다. 

random 클래스를 이용하여 객체변수 random을 생성해줍니다.

checkNum에 nextInt()함수로 난수를 생성하고, 결과값을 할당합니다. 

인증번호가 잘 나오는지 확인하기 위해 log를 찍어줍니다.

 

 

 

2. 인증번호 이메일 전송

 

String 변수를 선언해서 이메일에 필요한 정보들을 담습니다.

- setForm : root-context.xml에 삽입한 자신의 이메일 계정의 이메일 주소입니다. 

- toMail : 수신받을 이메일입니다. 뷰로부터 받은 이메일 주소인 변수 email을 사용하였습니다.

- title : 자신이 보낼 이메일 제목을 작성합니다.

- content : 자신이 보낼 이메일 내용입니다.

* <br>은 줄 바꿈을 위해 삽입한 태그입니다. 

 

 

MemberController 상단에 mailSender 변수를 선언하고 의존성 주입을 위해 @Autowired를 작성해줍니다.

 

 

 

이제 이메일 전송을 위한 코드들을 삽입해 줍니다.

 

 

테스트 결과 ↓↓↓

❗ 기존 네이버 아이디로는 인증 메일이 계속 전송이 되지 않아 계정을 새로 만들었더니 전송이 되었습니다.

그 이유는 아마 2단계 인증까지 되어있어서 그런것 같아요...! 😢 🤔

 

 

 

3. 인증번호 뷰로 전송

 

ajax를 통한 요청으로 인해 뷰로 다시 반활할 때 데이터 타입은 String 타입만 가능합니다. 그래서 String으로 형 변환을 해주어야 합니다.

 

 

mailCheckGET메서드의 반환 타입을 String으로 변경하고, 하단에 return num을 추가해 줍니다.

 

 

join.jsp의 ajax 코드에 success를 추가해 줍니다. success코드는 ajax 통신에서 성공한 값을 가져오게 됩니다. 그리고 해당 function을 수행하는 역할을 해줍니다.

데이터 Controller에 정상적으로 반환되었는지 확인하기 위해 log를 찍어줍니다. 테스트를 진행 후 주석처리 하거나 지워줍니다. 

 

 

테스트 결과를 웹 콘솔창에서 확인해주고, log를 주석처리 해줍니다. 

 

 

 

이상입니다 ( •̀ ω •́ )✧

 

 

 

 

 

 

참고 : Kim VamPa (tistory.com) 👍

728x90
반응형