[Spring][쇼핑몰 프로젝트][4] 인증번호 이메일 전송(2)

1. 인증번호(난수) 생성

2. 인증번호 이메일 전송

3. 인증번호 뷰(회원가입 페이지)로 전송
This commit is contained in:
SeoJin Kim
2020-11-03 21:14:40 +09:00
parent 9fe7518bc0
commit 9576eed6cc
6 changed files with 102 additions and 8 deletions

View File

@@ -1,8 +1,14 @@
package com.vam.controller;
import java.util.Random;
import javax.mail.internet.MimeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -20,6 +26,9 @@ public class MemberController {
@Autowired
private MemberService memberservice;
@Autowired
private JavaMailSender mailSender;
//회원가입 페이지 이동
@RequestMapping(value="/join", method=RequestMethod.GET)
public void loginGET() {
@@ -80,12 +89,45 @@ public class MemberController {
/* 이메일 인증 */
@RequestMapping(value="/mailCheck", method=RequestMethod.GET)
@ResponseBody
public void mailCheckGET(String email) throws Exception{
public String mailCheckGET(String email) throws Exception{
/* 뷰(View)로부터 넘어온 데이터 확인 */
logger.info("이메일 데이터 전송 확인");
logger.info("인증번호 : " + email);
logger.info("이메일 : " + email);
/* 인증번호(난수) 생성 */
Random random = new Random();
int checkNum = random.nextInt(888888) + 111111;
logger.info("인증번호 " + checkNum);
/* 이메일 보내기 */
String setFrom = "sjinjin6@naver.com";
String toMail = email;
String title = "회원가입 인증 이메일 입니다.";
String content =
"홈페이지를 방문해주셔서 감사합니다." +
"<br><br>" +
"인증 번호는 " + checkNum + "입니다." +
"<br>" +
"해당 인증번호를 인증번호 확인란에 기입하여 주세요.";
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8");
helper.setFrom(setFrom);
helper.setTo(toMail);
helper.setSubject(title);
helper.setText(content,true);
mailSender.send(message);
}catch(Exception e) {
e.printStackTrace();
}
String num = Integer.toString(checkNum);
return num;
}

View File

@@ -133,7 +133,12 @@ $(".mail_check_button").click(function(){
$.ajax({
type:"GET",
url:"mailCheck?email=" + email
url:"mailCheck?email=" + email,
success:function(data){
console.log("data : " + data);
}
});

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Mon Nov 02 21:12:33 KST 2020
#Tue Nov 03 20:58:09 KST 2020
version=1.0.0-BUILD-SNAPSHOT
groupId=com.vam
m2e.projectName=VamPa

View File

@@ -1,8 +1,14 @@
package com.vam.controller;
import java.util.Random;
import javax.mail.internet.MimeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -20,6 +26,9 @@ public class MemberController {
@Autowired
private MemberService memberservice;
@Autowired
private JavaMailSender mailSender;
//회원가입 페이지 이동
@RequestMapping(value="/join", method=RequestMethod.GET)
public void loginGET() {
@@ -79,12 +88,45 @@ public class MemberController {
/* 이메일 인증 */
@RequestMapping(value="/mailCheck", method=RequestMethod.GET)
@ResponseBody
public void mailCheckGET(String email) throws Exception{
public String mailCheckGET(String email) throws Exception{
/* 뷰(View)로부터 넘어온 데이터 확인 */
logger.info("이메일 데이터 전송 확인");
logger.info("인증번호 : " + email);
logger.info("이메일 : " + email);
/* 인증번호(난수) 생성 */
Random random = new Random();
int checkNum = random.nextInt(888888) + 111111;
logger.info("인증번호 " + checkNum);
/* 이메일 보내기 */
String setFrom = "sjinjin6@naver.com";
String toMail = email;
String title = "회원가입 인증 이메일 입니다.";
String content =
"홈페이지를 방문해주셔서 감사합니다." +
"<br><br>" +
"인증 번호는 " + checkNum + "입니다." +
"<br>" +
"해당 인증번호를 인증번호 확인란에 기입하여 주세요.";
try {
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "utf-8");
helper.setFrom(setFrom);
helper.setTo(toMail);
helper.setSubject(title);
helper.setText(content,true);
mailSender.send(message);
}catch(Exception e) {
e.printStackTrace();
}
String num = Integer.toString(checkNum);
return num;
}

View File

@@ -133,7 +133,12 @@ $(".mail_check_button").click(function(){
$.ajax({
type:"GET",
url:"mailCheck?email=" + email
url:"mailCheck?email=" + email,
success:function(data){
console.log("data : " + data);
}
});

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Mon Nov 02 21:12:34 KST 2020
#Tue Nov 03 20:58:10 KST 2020
version=1.0.0-BUILD-SNAPSHOT
groupId=com.vam
m2e.projectName=VamPa_MySQL