메일인증 연습

박호진·2021년 12월 14일
0
post-thumbnail

오늘은 메일 인증에 대해서 연습해 보았다

메일의 인증번호를 보내고 그 인증번호를 받아 입력이 일치하면 확인해 주는 코드를
연습하였다

일단 구글에서

엑세스를 권장하지 않음으로 변경

일단 메세지를 보내기 위해 pom.xml에

디펜던시 추가를 하였다

또한 root-context.xml에 메일을 보내때 사용하는 mailsender bean 객체 생성

이제 본문으로 돌아가 이메일을 보내기 위해 컨트롤러에 보내는 작업 시작

$("#emailButton").click(function() {
			event.preventDefault();
			var cehckBox  = $("#join_emailCheck");
			 var email = $("#join_email_id").val(); //입력한 이메일
			 
			 $.ajax({
				type:"GET",
				url:"/user/mailDupleCheck?mb_emaile=" + email,
				success:function(data){
					if (data == "1") {
						alert("사용중인 이메일 입니다 다시 한번 입력해 주세여");
						$("#join_email_id").val("");
						$("#join_email_id").focus();
						
					}else{
						
						 $.ajax({
						        
						        type:"GET",
						        url:"/user/mailCheck?email=" + email,
						        success:function(data){   
						        	cehckBox.attr("disabled",false);
						        	code = data;
						        }
						                
						    });
					}			
				} 
			 });
		});
	});

ajax를 이용한 email 중복검사 후 인증번호 보내기
실행되면 컨트롤러의 메서드로 이동 원래는 서비스로 보내서 글귀를 만들어야 하지만
귀찮은 관계로 컨트롤러에서 만들어서 보냅니다

/* 인증번호(난수) 생성 */
        Random random = new Random();
        int checkNum = random.nextInt(888888) + 111111;
        
        try {
            
            MimeMessage message = mailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(메세지, true, "utf-8");
            helper.setFrom(new InternetAddress("이메일", "이름"));
            helper.setTo(받는사람);
            helper.setSubject(제목);
            helper.setText(내용,true/html 허용);
            mailSender.send(message);
            
        }catch(Exception e) {
            e.printStackTrace();
        }
        
        String num = Integer.toString(checkNum);
        
        return num;

난수 생성과 그 난수를 담은 mail을 보냄과 동시에 그 난수를 페이지에 리턴해준다

보내지는것 확인


인증번호를 입력하지않거나 틀리면 다시 확인 메세지 출력


일치 하면 일치한다고 출력한다

이상으로 오늘 연습한 이메일 보내기 확인 완료

profile
안녕하세요 초보 프로그래머 입니다 잘부탁드립니다

0개의 댓글